我收到以下 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.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;
}
}
知道为什么我会收到这些错误吗?
最佳答案
好吧,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?");
}
或者:
public static int getPennies() {
String text = JOptionPane.showInputDialog("How many pennies do you have?");
return Integer.parseInt(text);
}
并从 getPennies()
的调用者中删除对 Integer.parseInt
的调用。
关于java - 找不到标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517708/