【发布时间】:2014-10-31 13:50:52
【问题描述】:
我试图让我的程序在输入值过高时输出错误代码,但我只能让它在终端窗口中显示错误消息,而不是在方法返回中。代码如下:
public class AckermannAdvanced {
public static long ack (long m, long n) {
long ans;
System.out.print("\f");
if (m > 3 && n > 1) {
System.out.print("Input values are too high");
} else {
if (m == 2) ans = (2*n)+3;
else if (m == 1) ans = n+2;
else if (m == 0) ans = n+1;
else if (n == 0) ans = ack(m-1, 1);
else ans = ack(m-1, ack(m, n-1));
System.out.print(ans);
return(ans);
}
return 0;
}
}
【问题讨论】:
-
什么是“返回窗口”?
-
返回窗口,我的意思是方法结果,根据我的IDE定义,它。我更专注于数学而不是计算机科学,所以如果我的一些术语和编程有点模糊/不正确,请原谅我。
-
我不确定您在寻找什么。但也许这符合您的要求:
throw new IllegalArgumentException("Input values too high");. -
这不是我想要的,但它确实有效。谢谢!
-
@R2B2 您能否删除您的评论并将其作为答案发布?然后可以将其标记为已接受,并可以进行投票。
标签: java recursion error-handling ackermann