### 入力された文字を順次リストに追加していき空文字入力で中断して要素を返すプログラムを作っています
ArrayListにて配列リストを作成し、String text = Scnner(System.in).nextLine();にて文字を取得、addメソッドを使い取得した要素をリストに追加しています。
この際に空文字が入力された場合取得を中断し、直前まで入力された配列リストの文字と、配列の要素数を返す判定にisEmptyメソッドを使い判定しているのですが、思った通りに処理がされません
どの部分が間違っているか指摘していただけると幸いです
java
1import java.util.ArrayList; 2public class Main { 3 4 public static void main (String []args) { 5 //配列の作成 6 ArrayList<String> text = new ArrayList<String> (); 7 8 for(int j = 0; j < 10;) { 9 10 //文字の取得 11 System.out.println("文字を入力してください"); 12 String name = new java.util.Scanner(System.in).nextLine(); 13 14 //取得した文字が空文字か判定する 15 if (text.isEmpty() == false) { 16 17 //空文字じゃ無ければ追加する 18 text.add(name); 19 } else { 20 21 //空文字なら直前までの要素と要素数を返す 22 System.out.println(text); 23 System.out.println(text.size()); 24break; 25 26 27 } 28 } 29} 30}
別のやり方も試したもののやはり思い通りになりませんでした
java
1import java.util.ArrayList; 2import java.util.Scanner; 3public class Main { 4 5 public static void main (String []args) { 6 //1 7 8 //配列の作成 9 ArrayList<String> text = new ArrayList<String> (); 10 11 12 for (int i = 0;i<1;) { 13 14 //入力の受付 15 System.out.println("文字を入力してください"); 16 String name = new Scanner(System.in).nextLine(); 17 18 //入力チェック 19 if (name =="") { 20 System.out.println(text); 21 System.out.println(text.size()); 22 break; 23 } else { 24 for (String j: text) { 25 text.add(name); 26 } 27 } 28 29 30 } 31 32} 33}
自分の力不足は承知しています、アドバイスいただけると嬉しいです
回答2件
あなたの回答
tips
プレビュー