问题是:
我们有两个长度为100的数组。最初,两个数组都包含n个元素(其中n <100)。
Array1
包含名称。
Array2
包含数字。
要求用户输入名称。
程序检查Array1
中是否存在输入的名称。如果是,则从Array2
打印相应的数字。
如果不是,则名称将保存在Array1
的末尾,并要求用户输入一个将在Array2
结尾处保存的号码。
我被困在“如果找不到名字”部分。如何在数组末尾输入新值?
到目前为止我已创建此代码:
public void askUser(String[] arr1, int[] arr2) {
System.out.println("Enter the name:");
String namedInput = new Scanner(System.in).nextLine();
List<String> namesList = Arrays.asList(arr1);
if(namesList.contains(namedInput)){
System.out.println("Yes, the name is present. And the subsequent number is: " + arr2[namesList.indexOf(namedInput)]);
}else{
System.out.println("Nope, the name is not present");
System.out.println("The name "+namedInput+" will be added in the list, please enter the corresponding number: ");
int numInput = new Scanner(System.in).nextInt();
// How to save the name and number in the first available indice.
}
askUser(arr1, arr2);
}
P.S。:如果您有任何其他优化方式,请建议。
答案 0 :(得分:3)
因此,如果您确实需要使用Array,请记住当前的名称 - 数字对数。
首先说你有n个名字 - 数字对,下次当你得到一个新名字时,只需要
if (n < 100) {
arr1[n] = newName;
arr2[n] = newNumber;
n++;
}
else {
// take care of this invalid case
}
答案 1 :(得分:2)