尝试获取要返回的信息,信息不是从system.out.print ln()语句打印的。我不知道如何更改它以使用该方法打印出信息。
package TESTCODe;
import java.awt.Component;
import javax.swing.Icon;
import javax.swing.JOptionPane;
public class TESTCODe {
private static Component frame;
private static Icon icon;
public static void main(String[] args) {
int selection=0;
int menu = read_menu();
while(selection!=3)
{ if(selection==1)
{ System.out.println("random"); }
else
if(selection==2)
{System.out.println("WH form"); }
menu=read_menu();
} System.out.println("Exiting");
System.exit(0);
} public static int read_menu()
{ int selection=0;
Object[] possibilities = {"test1", "test2", "Exit"};
String s = (String)JOptionPane.showInputDialog(
frame,"Choose a form",
"Form",JOptionPane.PLAIN_MESSAGE,icon,
possibilities,"test1");
if(s.equals("test1"))
{ selection=Integer.parseInt(s);
selection=1;
}
else
if(s.equals("Wh"))
{ selection=Integer.parseInt(s);
selection=2;
}
else
if(s.equals("Exit"))
{ selection=Integer.parseInt(s);
selection=3;
}return selection;
}
}
任何帮助都很有用。谢谢
答案 0 :(得分:0)
替换以下行:
int menu = read_menu();
使用:
selection = read_menu();
原因:您正在打印" selection"的值,但您已将read_menu()函数的返回int分配给" menu"。因此,您需要进行上述替换。
从主方法中删除以下行:
menu=read_menu();
原因:您没有使用"菜单" if ... else循环的变量,也不是使用System.out.println进行打印的,所以为什么要使用它呢?
并删除所有
selection=Integer.parseInt(s);
来自read_menu()函数的行。
原因:您在下一步中将选择设置为int值,因此该行无用,并且您还尝试将字符串转换为int,这可能会导致错误。
这样您的代码应该按预期工作。