我是一名正在参加Java编程课程的学生。我的老师要求我们使用JOption
窗格进行练习。我认为我拥有大部分的功能,但无法使其正常工作。我的程序不接受JOption
窗格中的选项,但它在CMD窗口中接受它们。在JOption
窗格被清除之后,选项被接受。我的代码是:Java中的扫描器输入问题
import javax.swing.JOptionPane;
import java.util.Scanner;
public class Coffee10 {
private static int item;
private static double price;
private static int menuNum;
private static Scanner input;
public static void main(String[] args) {
calculateP();
if (menuNum > 0) //calculateP(); going for 3 instances of input
{
if (menuNum > 0) //calculateP();
{
if (menuNum > 0) {
calculateP();
}
}
}
}
public static double calculateP() {
Scanner input = new Scanner(System.in);
JOptionPane.showInputDialog(null, "Jivin' Java Coffee Shop" + "\nCoffee" + "\n(1)American 1.99" + "\n(2)Expresso 2.50" + "\n(3)Latte 2.15" + "\nMake selection. Press 0 to quit");
JOptionPane.showInputDialog(null, "Jivin' Java Coffee Shop" + "\nCoffee" + "\n(1)American 1.99" + "\n(2)Expresso 2.50" + "\n(3)Latte 2.15" + "\nMake selection. Press 0 to quit");
JOptionPane.showInputDialog(null, "Jivin' Java Coffee Shop" + "\nCoffee" + "\n(1)American 1.99" + "\n(2)Expresso 2.50" + "\n(3)Latte 2.15" + "\nMake selection. Press 0 to quit");
JOptionPane.showMessageDialog(null, "Your total order comes to $" + price + ".");
menuNum = input.nextInt();
if (menuNum == 1) {
item += 1;
price += 1.99;
return 1.99;
} else if (menuNum == 2) {
item += 1;
price += 2.50;
return 2.50;
} else if (menuNum == 3) {
item += 1;
price += 2.15;
return 2.15;
} else {
return 0;
}
}
}
请格式化你的代码。这是不可读的。 – 2014-09-22 14:20:58
注释掉的代码是怎么回事('calculateP()')? – Holloway 2014-09-22 14:24:58
它正在启动3次JOption窗格,只希望它出现1次。试错。 – user3855016 2014-09-22 14:37:47