import java.util.Scanner;
public class LabProgram {
public static String getPhoneNumber(String[][] list, String name) {
for (int i = 0; i < list.length; i++) {
if (list[i][0].equals(name)) {
return list[i][1];
}
}
return "-1"; // Handle the case when the name is not found
}
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
int numPairs = scnr.nextInt();
String[][] list = new String[numPairs][2];
for (int i = 0; i < numPairs; i++) {
list[i][0] = scnr.next();
list[i][1] = scnr.next();
}
String name = scnr.next();
String phoneNumber = getPhoneNumber(list, name);
System.out.println("Phone number for " + name + ": " + phoneNumber);
}
}
输入: 3 乔,123-5432 琳达,983-4123 弗兰克,867-5309 弗兰克
我的输出: 你的程序没有产生输出
预期输出: 弗兰克:867-5309
我的代码获取用户输入,指示有多少对,然后获取对,最后输入是我需要输出的电话号码的名称。但无论出于何种原因,它都不会输出,也不会打印任何内容。是我的方法吗?
代码的核心部分可以通过基于这样的内容来修复:
for (int i = 0; i < numPairs; i++) {
String pair = scnr.next();
list[i] = pair.split(",")
}
'next' 读取下一个空格,因此它会将名称和编号作为一个字符串。 'split' 将该字符串拆分为逗号,返回(在本例中)一个 2 元素数组。