Java 找不到符号
我发现以下java编译器错误:Java 找不到符号,java,compiler-errors,Java,Compiler Errors,我发现以下java编译器错误: main.java:9: cannot find symbol symbol : method parseInt(int) location: class java.lang.Integer int count = Integer.parseInt(getPennies()); ^ main.java:23: incompatible types found : java.lang.Str
main.java:9: cannot find symbol
symbol : method parseInt(int)
location: class java.lang.Integer
int count = Integer.parseInt(getPennies());
^
main.java:23: incompatible types
found : java.lang.String
required: int
JOptionPane.showInputDialog("How many pennies do you have?");
^
2个错误
这是我的密码
import javax.swing.*;
class main {
public static void main(String args[]) {
try {
int count = Integer.parseInt(getPennies());
System.out.println("You have "+count+" pennies");
} catch (NumberFormatException exception) {
System.out.println("Please insert a number");
getPennies();
}
}
public static int getPennies() {
int input =
JOptionPane.showInputDialog("How many pennies do you have?");
return input;
}
}
知道我为什么会出现这些错误吗?
Integer.parseInt
需要字符串
输入,而不是int
。只需使用getPennies()
而不使用它。对于第二个错误,showInputDialog
返回一个String
,因此使用那里的parseInt
函数。整数。parseInt
需要字符串
输入,而不是int
。只需使用getPennies()
而不使用它。对于第二个错误,showInputDialog
返回一个String
,因此使用那里的parseInt
函数。parseInt()
方法将字符串解析为整数,输入作为字符串完成,因此更改getPennies()的返回类型
到字符串
可能会完成这项工作。通过parseInt()
方法将字符串解析为整数,输入作为字符串完成,因此将getPennies()
的返回类型更改为字符串
可能会完成这项工作。getPennies()
返回一个int
,没有像Integer.parseInt(int)
这样的方法-思想是parseInt
解析字符串并给出一个整数
然后你有:
int input = JOptionPane.showInputDialog("How many pennies do you have?");
。。。但是showInputDialog返回的是字符串,而不是整数
您可以通过如下更改getPennis()来解决这两个问题:
public static String getPennies() {
return JOptionPane.showInputDialog("How many pennies do you have?");
}
或:
从调用getPennies()
的调用方中删除对Integer.parseInt
的调用好了,getPennies()
返回一个int
,并且没有Integer.parseInt(int)
这样的方法-其思想是parseInt
解析一个字符串并给出一个整数
然后你有:
int input = JOptionPane.showInputDialog("How many pennies do you have?");
。。。但是showInputDialog返回的是字符串,而不是整数
您可以通过如下更改getPennis()来解决这两个问题:
public static String getPennies() {
return JOptionPane.showInputDialog("How many pennies do you have?");
}
或:
从调用
getPennies()
的方法JOptionPane.showInputDialog()
的调用方删除对Integer.parseInt
的调用将返回一个字符串,而不是int
因此存在类型不兼容问题。方法JOptionPane.showInputDialog()
返回字符串,而不是int
所以你有一个类型不兼容的问题