【发布时间】:2026-01-13 22:25:02
【问题描述】:
public class Phone {
public static void main(String args[]) {
String numbers[][] = { { "Tom", "555-3322" }, { "Mary", " 555-8976" },
{ "Jon", "555-1037" }, { "Rachel", "555-1400" } };
int i;
if (args.length != 1)
System.out.println("Usage: java Phone <name>");
else {
for (i = 0; i < numbers.length; i++) {
if (numbers[i][0].equals(args[0])) {
System.out.println(numbers[i][0] + ": " + numbers[i][1]);
break;
}
if (i == numbers.length)
;
System.out.println("Name not found.");
}
}
}
}
所以在我尝试运行这行代码之后,除了第一个 sysout 语句之外,我没有得到任何其他结果。
【问题讨论】:
-
预期的结果是什么?
-
你不是说
if(numbers.length != 1)吗? -
args.length可能不等于 1。 -
我对您的代码进行了格式化,并尝试为您的意图添加更多含义。我并没有试图彻底改变我的看法。你的问题没有意义。什么不工作?你打算用这段代码做什么?
-
这段代码对我来说似乎工作正常。运行 arg of Tom 打印:“Tom: 555-3322”,如预期的那样。同意 WonderWorld 的观点,也许你的程序的命令行执行没有像你期望的那样传入 args。
标签: java