2011-12-09 3 views
-4

Спасибо за помощь всем, но теперь вопрос изменился в зависимости от предложения Патрика ниже. Цикл работает, но, похоже, он не хранит входные данные в соответствующие массивы. Данные продолжают заменяться в Array-Lists, а не переходить на следующую позицию в Array-List любые предложения?Не удается сохранить данные в списке массивов?

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)); 

    } 
} 
Смежные вопросы