我的程序使用数组:collection[]
来保存汽车信息。用户输入用于使用控制台将汽车添加到阵列。因此,用户可以输入汽车的名称,制造年份等。但是当它被添加到阵列时,它会直接进入collection[0]
。因此,如果collection[0]
中已有任何内容,则会替换它。
我希望用户输入但是进入阵列中的下一个null
单元格以避免此问题。我试图编写遍历数组的每个单元格的代码,一旦找到null
的单元格,它就会将信息添加到其中。但它没有用。
public void addCarInput1()
{
for (int i = 0; i < 1; i++)
if (this.collection[i] = null)
{
this.collection[i].addCarInput();
}
}
以下是addCarInput
的缩短版本:
Scanner sin = new Scanner(System.in);
System.out.print("Enter car make: ");
Cmake = sin.nextLine();
System.out.print("Enter car model : ");
Mname = sin.nextLine();
答案 0 :(得分:0)
如果你想要更多汽车,你可以尝试这样的事情
String shouldContinue = null;
while(true) {
if (shouldContinue.equals("no")) break;
Scanner sc = new Scanner(System.in);
System.out.print("Enter car make: ");
String make = sc.nextLine();
System.out.print("Enter car model : ");
String model = sc.nextLine();
//add car info
addCarInput(make, model);
System.out.print("Enter info for another car? : ");
shouldContinue = sc.nextLine()
}
答案 1 :(得分:0)
为什么不使用LinkedList或ArrayList对象而不是数组? add()方法将添加列表末尾的元素&amp;不替换旧值
http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html