- 問題描述
- 給定一個字符串,你需要從第start位開始每隔step位輸出字符串對應位置上的字符。
- 輸入格式
第一行一個只包含小寫字母的字符串。 - 第二行兩個非負整數start和step,意義見上。
- 輸出格式
一行,表示對應輸出。
- 樣例輸入
abcdefg
2 2
樣例輸出
ceg
數據規模和約定
start從0開始計數。
字符串長度不超過100000。提示 讀入上有問題,可以參照字符串進位。
嘗試不要出現以下代碼:for (int i = 0; i < (int) S.size(); ++i)
代碼部分如下:
//給定一個字符串,你需要從第start位開始每隔step位輸出字符串對應位置上的字符。
import java.util.Scanner;
public class ADV_234 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();//輸入字符串
int start = sc.nextInt();//輸入開始的start數
int step = sc.nextInt();//輸入隔step位
char a[] = str.toCharArray();//將字符串拆分成字符
int i ;
i =start;
while(i<str.length()) {
System.out.print(a[i]);
i+= step;
}
// for(int i = 0;i<str.length();i++) {
// //System.out.println(a[i]);
// if(m == i) {
// for(int k =0;k<str.length();k++) {
// for(int j = m+k*n;j<=(k+1)*n+m;j++) {
// System.out.print(a[j]);
// }
// }
//
//
// }
// //break;
// }
}
}
開始我是嘗試使用for循環來實現自己想要的結果,後來看了提示之後更改爲while語句,比之前的for更簡單,也更容易實現。