質問は:
長さ 100 の 2 つの配列があります。最初は、どちらも 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);
}
PS: 他に最適化された方法があれば提案してください。