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

我发现以下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;
}
}

知道我为什么会出现这些错误吗?

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

所以你有一个类型不兼容的问题