1

何らかの理由で、javac は Integer.parseInt() をコンパイルできません。parseInt を含むいくつかのプログラムを試してみましたが、動作しないため、問題が parseInt にあるのか、それともプログラム内の何かにあるのかをテストするための簡単な小さなプログラムを作成しました。私が書いたテストプログラムは次のとおりです。

public class Test
{
public static void main(String[] args)
{
int a = Integer.parseInt(args[0]);  
System.out.println(a);

}
}

上記のプログラムでも、「エラー: シンボル a = Integer.parseInt(); が見つかりません」というコンパイラ エラーが発生しました。に矢印を付けます。整数と解析の間。Double.parseDouble() を使用してプログラムを実行しようとしましたが、問題なく動作します。なぜこのエラーが発生するのかについてのアイデアはありますか?

4

2 に答える 2

2

java.langJava がパッケージをインポートします。importしたがって、そのパッケージ内のすべてのクラスは、ステートメントを使用する必要なく、プログラムで使用できます。Integerただし、パッケージ (既定のパッケージ) で呼び出されるクラスを宣言している場合は、in .Integerjava.lang

代わりに、クラスの完全修飾名を使用できます

java.lang.Integer.parseInt(args[0]);

またはstatic parseInt(String)、カスタムIntegerクラスで独自のメソッドを作成します。これにより、プログラムがコンパイルされます。それがあなたが望むことをすることを確認してください。

于 2013-10-15T20:54:12.200 に答える
1

の代わりにInteger.parseInt()、次を試してください。

java.lang.Integer.parseInt(args[0]);

これにより、java.lang で正しいクラスを確実に使用できるようになりますInteger。それが機能しない場合は、環境に重大な問題があります。その場合、クラスの代わりに暗黙的に参照している別のクラスをIntegerどこかで呼び出す必要がありますjava.lang.Integer

于 2013-10-15T20:54:08.247 に答える