###実現したいこと
String型strに「1:ab 2:cd 3」という文字列を入力後、
strの : を空白に変換し、空白区切りでlistに変換します。
「ab cd」といった文字列だけをリスト内に残したいので、
if(i==0||i%2==0){ list.remove(i); }
という風に記述しているのですが、
出力が[ab, 2, 3]となってしまいます。
なぜ[ab cd]という結果にならないのかご教示いただけないでしょうか。
※listを途中で出力した際は下記のように : や空白が含まれることなくlist化されています。
[1, ab, 2, cd, 3]
java
1public class App { 2 public static void main(String[] args) { 3 Scanner scanner = new Scanner(System.in); 4 String str = scanner.nextLine(); 5 str = str.replaceAll(":"," "); 6 List list = new ArrayList(); 7 StringTokenizer tokenizer = new StringTokenizer(str," "); 8 while (tokenizer.hasMoreTokens()) { 9 list.add(tokenizer.nextToken()); 10 } 11 for(int i=0;i<list.size();i++) { 12 if(i%2==0) { 13 list.remove(i); 14 } 15 } 16 System.out.print(list); 17 } 18}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/23 04:34
2019/12/23 04:55