java - 找不到标志

标签 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.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/

相关文章:

java - 如何获取运行时类路径上资源的文件句柄?

java - 如何使用 Java AWT 显示信息?

java - 在Java中如何获得内部类外部类this?

c - 对 .. 错误的奇怪 undefined reference

ios - -ObjC 链接器标志导致重复符号错误

java - 如何提高股票数据传输应用程序的性能?

java - 如何使用 java 库减少 IPV4 地址?

c++ - '转换': 'class' OpenGL 3D type redefinition

c++ - 为什么现有函数参数不能用于评估其他默认参数?

android - 覆盖 onCreateDialog() 时类型不兼容