【问题标题】:cannot find symbol: parseInt找不到符号:parseInt
【发布时间】:2023-04-09 18:02:01
【问题描述】:

我已经用java编译了一些小程序,一切都很好。但是我的新代码有问题。

class myclass
{
 public static void main (String[] args)
 {
  int x, y;
  String s ="sssss";
  x=args.length;
  s= args[0].substring(1,2);
  System.out.println("Num of args: "+x);
  System.out.println("List of args:");
  y = parseInt(s,5);
  }
}

编译器说:

 e:\java\4>javac myclass.java 
  myclass.java:11: error: cannot find symbol   
   y = parseInt(s,5);
       ^   symbol:   method parseInt(String,int)   location: class myclass 1 error

 e:\java\4>

奇怪的是编译器跳过了方法子字符串(因为没有问题)但是方法 parseInt 似乎有任何问题。 y = parseInt(s);或: y = parseInt("Hello"); --> 同样的编译器消息。

或者该方法不存在? docs.oracle-->Integer 说它存在 :)

这让我真的很疯狂因为我不知道如何搜索错误。我已经检查了互联网,我检查了类路径和路径...

如果有专家可以帮助我,那就太好了。 :)

【问题讨论】:

  • Java 的 Integer.parseInt 有一个可选的 radix 参数。但请确保您希望基数为 5。如果您尝试解析“常规”数字输入,则可以完全省略基数。

标签: java parseint


【解决方案1】:

parseIntInteger 类中的 static 方法。你需要这样称呼它:

  y = Integer.parseInt(s,5);

【讨论】:

  • 感谢您的快速回复,我认为今年年底我没有得到它。
【解决方案2】:

您正在尝试访问 Integer 类的静态方法

你必须这样做:

y = Integer.parseInt(s,5);

【讨论】:

    【解决方案3】:

    parseInt 是 Integer 类的静态方法。要调用它,您必须做以下几件事之一:

    • 在 Integer 类上调用它

      Integer.parseInt(s, 5)
      
    • 在整数引用上调用它

      Integer i = null;//yes reference can be even null in this case
      i.parseInt(s, 5);
      
    • 或避免前两个选项使用静态导入(如import static java.lang.Integer.parseInt;)导入该方法。这样您就可以使用该方法,例如

      y = parseInt(s,5);
      

    【讨论】:

      猜你喜欢
      • 2014-12-06
      • 2014-04-11
      • 2013-09-12
      • 2013-06-06
      • 2017-10-01
      • 1970-01-01
      • 2015-05-10
      • 2014-01-05
      • 2022-01-17
      相关资源
      最近更新 更多