我正在尝试输入对话框,如果输入的数字大于10,则应该打印一条特殊的消息。所以我插入了return
,但后来我收到了这个错误:unexpected return value
。
以下是代码:
import javax.swing.JOptionPane;
public class Program extends JFrame {
public static void main(String[] args) throws IOException {
int number= Integer.parseInt(JOptionPane.showInputDialog("Enter a number:"));
if(number> 10)
return System.out.println("The number must be less that 10");
else
System.out.println("...");
}
}
抱歉我的英语不好。
答案 0 :(得分:2)
您应该做的是在错误流上打印错误消息,并使用错误代码退出,如下所示:
public class Program extends JFrame {
public static void main(String[] args) throws IOException {
int number= Integer.parseInt(JOptionPane.showInputDialog("Enter a number:"));
if(number> 10) {
System.err.println("The number must be less that 10");
System.exit(1);
} else {
System.out.println("...");
}
}
}
答案 1 :(得分:1)
你错误地理解了return concept
。
由于main方法的返回类型为void
,因此不会有return
。
if(number> 10)
System.out.println("The number must be less that 10");
else
System.out.println("...");
您只是打印到控制台。因此,不需要return
声明。
作为旁注,{}
if -else
答案 2 :(得分:1)
这里有两个核心错误:
main
是一种void
方法,因此您无法从中返回任何内容System.out.println
是一种无效方法,因此无论如何都无法返回完全删除return
位并只打印您想要的结果,或者将其作为单独的String
方法并返回结果而不是打印它。如果您希望程序在输入错误后终止,只需添加一个简单的单独返回:
if(number> 10) {
System.out.println("The number must be less that 10");
return;
}
else //..and so on
答案 3 :(得分:1)
这里你试图从void方法返回一个值(即public static void main(String [] args),这是完全无效的。 我想你完全考虑其他类,然后从包含main方法的其他类中调用方法。
答案 4 :(得分:0)
主方法是无效的,它不能返回任何东西,也不应该返回。
只需删除"返回"关键字,并保留print语句。