【发布时间】:2020-12-18 15:14:39
【问题描述】:
这是我试图运行的程序:
public class RightTriangle {
public static void main(String args[]) {
int a = Integer.*parseInt*(args[0]);
int b = Integer.*parseInt*(args[1]);
int c = Integer.*parseInt*(args[2]);
System.out.println((c*c==a*a+b*b||b*b==a*a + c*c ||a*a == b*b + c*c)&&(c>0 && b>0 && a>0));
}
}
在 IntelliJ 上运行此程序时出现此错误:--
"C:\Program Files\Java\jdk-14.0.2\bin\java.exe" "-javaagent:C:\Users\anuavi\IntelliJ IDEA Community Edition 2020.2.1\lib\idea_rt.jar=58608:C:\Users\anuavi\IntelliJ IDEA Community Edition 2020.2.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\anuavi\IdeaProjects\java1\out\production\java1 RightTriangle console
Exception in thread "main" java.lang.NumberFormatException: For input string: "console"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at RightTriangle.main(RightTriangle.java:7)
进程以退出代码 1 结束
我不明白为什么当我从合法来源复制代码时显示错误??
【问题讨论】:
-
异常原因很清楚:
Exception in thread "main" java.lang.NumberFormatException: For input string: "console"。传递有效的int-representations 作为输入,异常应该会消失。 -
This 描述了如何从命令行传入正确参数的示例。在您的情况下,您想传递数字而不是单词;具体来说,整数。
-
好吧...但是相当初学者..你能告诉我什么是有效的 int 表示吗?
-
@AnveK 我推荐一个关于 Java 的基础教程,例如this one by Oracle
-
@Gryphon...我尝试使用数字..我收到错误“索引 1 长度超出长度 1 的范围”
标签: java indexing arguments syntax-error lang