【发布时间】:2011-12-09 12:47:42
【问题描述】:
感谢所有帮助人员,但现在问题的性质已经改变,使用 Patrick 的建议,下面的循环正在运行,但它似乎没有将输入存储到相应的数组中,数据不断替换为 ArrayLists 而不是转到对 ArrayList 的下一个位置有什么建议吗?
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));
}
}
【问题讨论】:
-
你试过什么? (false) 作为循环条件将永远不会重新运行您的循环。您实际上在哪里尝试获取(y/n)选择的用户输入?很高兴看到在这里发布之前至少有一点努力
-
并且您正在为每个用户重新创建列表,因此无论如何它都不起作用。
-
对于 java 的人非常非常新,就像上周刚开始的时候一样,所以请原谅无知,不要只是尝试学习使用数组列表,这不是功课。
标签: java loops arraylist do-while