-3
该功能正常工作,但打印件具有倒三角形。递归 - 三角形在循环之前发出呼叫
的职能A anaylse:
public static int Triangle(int n) {
Random r = new Random();
if (n == 1)
return r.nextInt(4) + 1;
for (int i = 0; i < n; i++) {
System.out.print(r.nextInt(4) + 1);
}
System.out.println();
return Triangle(n - 1);
}
}
输出:
2224
112
11
4
我试图把递归调用之前的for循环,这样的结果应该是:
1
11
234
4345
但我得到一个编译错误(for循环与它下面的红线)。
错误运行后:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Unreachable code
at test1.Triangle(test1.java:16)
at test1.main(test1.java:6)
可达代码意味着,你在写代码点,在那里它不能被执行了,比如在一个'return'后面,不可能被执行。 – SomeJavaGuy
请向你展示编译时未解决的代码。 –
提示:如果你得到一个编译错误...停止,不要跑,如果你已经知道它已经坏了,那么运行某些东西是绝对没有意义的,相反:fo因为编译器错误信息。转向它指出的路线;然后继续阅读消息。因为:通常这些错误消息是**真的很好。他们告诉你所有你需要知道的。 – GhostCat