2011-12-09 10 views
-4

すべての助けをいただきありがとうございますが、今質問の性質は以下のパトリックの提案に基づいて変更されました。ループは実行されていますが、それぞれの配列に入力を格納しているようには見えません。データはアレイの次の位置に移動するのではなく、アレイリストに置き換えられ続けます。配列リストにデータを格納できませんか?

import java.util.ArrayList; 
import java.util.Scanner; 
public class Arrray { 
    public static void main(String [] args){ 

     ArrayList<String> names; 
     ArrayList<String> addr; 

     do { 
      names = new ArrayList<String>(); 
      addr = new ArrayList<String>(); 
      Scanner userInput = new Scanner(System.in); 
      System.out.println("Name and Adreess are: " + names.size() + "**" 
        + addr.size()); 
      System.out.println("please Enter Your Name :"); 
      names.add(userInput.next()); 
      System.out.println("please enter your Address :"); 
      addr.add(userInput.next()); 

      System.out.println("Do you want to add another entry? :(y/n)"); 
      String ans =userInput.next(); // get the value from the user using scanner class 
      if(ans.equals("n") || ans.equals("N")) 
       break; 

      } while (true); 
     int n = names.size(); 
     int a = addr.size(); 
     for(int i =0; i<n && i<a; i++) 
      System.out.println("Name and address are as below: "+ names.get(i)+"**"+ addr.get(i)); 

    } 
} 
+1

パトリックは誰ですか?編集する前に何も見ることができないので、何が起こっているのかわからない。以前の質問を編集するのではなく、新しい質問を作成しましたか?使用している言語を指定するタグを追加する必要があります。 –

+2

文章の始まりと終わりを識別するために句読点を使用できますか? –

答えて

1

ループを通過するたびに新しいArrayListを作成します。つまり、最後の配列には最後の要素のみが含まれます。 代わりにループの前に作成してください。

2

ArrayListが実行されるたびにコードで再初期化されています。ループから取り除く必要があります。

import java.util.ArrayList; 
import java.util.Scanner; 
public class Arrray { 
    public static void main(String [] args){ 

     ArrayList<String> names = new ArrayList<String>(); 
     ArrayList<String> addr = new ArrayList<String>(); 

     do { 
      //names = new ArrayList<String>(); take this out 
      //addr = new ArrayList<String>(); // take this out 
      Scanner userInput = new Scanner(System.in); 
      System.out.println("Name and Adreess are: " + names.size() + "**" 
        + addr.size()); 
      System.out.println("please Enter Your Name :"); 
      names.add(userInput.next()); 
      System.out.println("please enter your Address :"); 
      addr.add(userInput.next()); 

      System.out.println("Do you want to add another entry? :(y/n)"); 
      String ans =userInput.next(); // get the value from the user using scanner class 
      if(ans.equalsIgnoreCase("n")) 
       break; 

      } while (true); 
     int n = names.size(); 
     int a = addr.size(); 
     for(int i =0; i<n && i<a; i++) 
      System.out.println("Name and address are as below: "+ names.get(i)+"**"+ addr.get(i)); 

    } 
} 
関連する問題