2017-06-23 13 views
-5

random()が見つからないというコンパイルエラーが発生するのはなぜですか?Math.random()が認識されない

public class Math { 
    public static void main(String[] args) { 
     int randnum; 
     randnum = (int)(Math.random() * 15); 
     while (true) { 
      System.out.println(randnum); 
     } 
    } 
} 
+0

名の曖昧さを使用する必要がありますか?自分のクラスは「数学」と呼ばれます。また、常にあなたの質問に正確なエラーを追加してください。 – domsson

+1

標準Java APIの(よく知られた)型と同じカスタム型を決して指定しないでください。一般的に、型名の衝突は完全な名前で解決されます。これは、ドキュメントから簡単に知ることができます。また、あなたの無限ループは同じ出力を永久に 'println'します。 –

答えて

2

あなたはjava.lang.MathをシャドウクラスMathを、命名。 Mathクラスにはrandom()メソッドがないため、エラーです。あなたのクラスの別の名前を選んで問題を解決してください。

+0

また、完全修飾型名を使用してください。 –

1

ないMath

randnum = (int)(java.lang.Math.random() * 15);

または何か他のものにあなたのクラスの名前を変更するよう関数を呼び出すどちらか - それは作り付けのJavaパッケージを隠します。

1

変更java.lang.Mathクラス名を持ついくつかの他の名前、あなたクラス名の競合に独自のクラスMathの名前:

public class XYZ { 

    public static void main(String[] args){ 

     int randnum; 

     randnum=(int) (Math.random()*15); 
     while (true){ 
      System.out.println(randnum); 
     } 
    } 
} 

またはあなたがrandnum = (int)(java.lang.Math.random() * 15);

関連する問題