2011-12-30 8 views
-4

Exception in thread "main" java.lang.Error: Unresolved compilation problem: Syntax error on token "]", invalid (スレッド「main」の例外

これはエラーメッセージです。 これは私のコードです:

import java.awt.*; 
import java.util.Random; 
import java.awt.event.*; 
import javax.swing.*; //notice javax 
public class Frame1 extends JFrame 
{ 
    JPanel pane = new JPanel(); 
    Frame1() // the frame constructor method 
    { 
    super("Harry's Random Number Generator"); setBounds(100,100,300,100); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    Container con = this.getContentPane(); // inherit main frame 
    con.add(pane); // add the panel to frame 
    // customize panel here 
    // pane.add(someWidget); 
    setVisible(true); // display this frame 
    } 
    public static void main(String args[]) {new Frame1();} 
    Random dice = new Random(); 
    int number;{ 

    for(int counter=1; counter<10;counter++){ 
     number = 1+dice.nextInt(1000); 
     System.out.println(number + " "); 
    } 

    } 

} 
+0

どの行でエラーが発生しますか?完全なスタックトレースを投稿できますか? –

+0

私たちに与えたコードには、あなたが投稿したエラーは含まれていません。プログラムはいくつかの数字を印刷し、画面上に灰色の枠を投げる以外にはほとんどありませんが、示されているように実行されます。 – Paul

+0

あなたはおそらくEclipseを使用しています。 Alt-Shift-Qを押してからXを押します(または、ウィンドウ - 表示の表示 - 問題)。このビューでは、コンパイルエラーメッセージが表示されます。それらを読んで、コンパイルの問題を修正してください。 コードがはるかに読みやすくなり、正しくインデントされていれば、エラーがはるかに簡単にわかります。エディタでCtrl + Shift + Fを押してコードをフォーマットします。 –

答えて

2

あなたのコードは完全に台無しです。

これらのライン:

public static void main(String args[]) {new Frame1();} 
    Random dice = new Random(); 

開始とmainメソッドを終了し、その後、部材変数diceを定義します。

これらの行:

int number;{ 

for(int counter=1; counter<10;counter++){ 
    number = 1+dice.nextInt(1000); 
    System.out.println(number + " "); 
} 

} 

、その後に行くと、他のメンバ変数number、その後インスタンス初期化子{ ... }を定義します。

コードを正しくフォーマットすることから始めます。構文的に言えば、私はこのようにそれを記述します。

import java.awt.Container; 

public class Frame1 extends JFrame { 

    JPanel pane = new JPanel(); 

    Frame1() { // the frame constructor method 
     super("Harry's Random Number Generator"); 
     setBounds(100,100,300,100); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     Container con = this.getContentPane(); // inherit main frame 
     con.add(pane); // add the panel to frame 
     // customize panel here 
     // pane.add(someWidget); 
     setVisible(true); // display this frame 
    } 

    public static void main(String args[]) { 
     new Frame1(); 

     Random dice = new Random(); 
     int number; 

     for(int counter=1; counter<10;counter++){ 
      number = 1+dice.nextInt(1000); 
      System.out.println(number + " "); 
     } 
    } 
} 

(実際にコンパイルし、実行し、「細かい」。)

+0

これは彼の質問には答えません。 – Paul

+1

真。回答が更新されました。 – aioobe

0

あなたの主な方法である1行:新しいFRAME1(); main()を閉じるといくつかの新しいコードが現れます:ランダムなサイコロ= ...しかし、メソッド内にカプセル化されていません。

+0

これは当てはまりますが、例外を引き起こした例外またはコンパイルについては説明しません。 –

関連する問題