线程“main”中的异常java.lang.Error:未解决的编译问题: 令牌“]”上的语法错误,无效(
这是我收到的错误消息。 这是我的代码:
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 :(得分: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 + " ");
}
}
}
(实际编译并运行“正常”。)
答案 1 :(得分:0)
你的主要方法是一行:new Frame1();然后你关闭main()并出现一些新代码:Random dice = ...但是没有封装在方法中。