你好,堆栈社区,我正在开发一个以图形方式显示提示的程序,存储在 2D 数组中,以及它们的正确响应对应项 - 我首先调用 Menu 对象的创建:
public static void main (String [] args){
SwingUtilities.invokeLater(new Runnable(){
public void run() { new Menu(); }
});
}
在菜单中,我定义了各种按钮:
JButton chem3Button, chin1Button, mathstatButton//etc...
后面跟着一个动作监听器,它添加了诸如工具提示之类的属性:
mathstatButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent j) {
new matstatMenu();
}
});
它又将控制权传递给 matstatMenu,它允许选择数学中的一个区域,在这种情况下只有一个,可用:
mathstatb1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent l) {
new SwingImplementation(2, 1);
}});
它通过 mathstatb1 按钮将主题 2(数学)和主题子集 1(描述性统计)发送到 SwingImplementation,以飞过将统计数组复制到 oneRay 的循环:
case 2:
switch(unit){
case 1:
oneRay = new String[Master.MathaRay_Part2.length][2];
for(int i = 0; (Master.MathaRay_Part2.length) > i; i++){
oneRay[i][0] = Master.MathaRay_Part2[i][0]; oneRay[i][1] =
Master.MathaRay_Part2[i][1];} break;
default: System.exit(0); break;
} break;
然后无法通过这个 do-loop 进行,尽管数组 Master.MathaRay_Part2 已满并且应该完全复制上述代码,但该循环会无限循环。为什么这个循环失败,或者更确切地说,永远不会退出?
do{
System.out.println("C");
pick = random.nextInt(oneRay.length);
}while((oneRay[pick][0]).isEmpty());
拜托,我只是一个摇摆新手,试图创建一个程序来帮助自己和学校的同龄人,任何帮助都将不胜感激。