gpt4 book ai didi

Java:从 Scanner 实用程序转换为 JOptionPane

转载 作者:行者123 更新时间:2023-11-30 10:59:54 27 4
gpt4 key购买 nike

我开始为我的类(class)创建一个 Java 程序。没过多久就可以使用 Scanner 实用程序在控制台中显示信息,因此我决定尝试使用 JOptionPane 使其在弹出窗口中显示信息(很明显)。我可以让它使用 JOptionPane,但是在你在 JOptionPane 窗口中输入数字后,它会要求你在控制台中输入它。我看到过要求人们为他们转换程序的问题,但这不是我想要的。我只是想要一些提示,所以我可以自己做。

我想知道如何摆脱制作它的部分,因此您必须在控制台中输入数字,因此您只能使用 JOptionPane。欢迎任何帮助。我知道该程序并没有像现在预期的那样完全执行,但是一旦我到达我想要的第一个位置,我就可以弄清楚那部分。谢谢!

import java.util.Scanner;
import javax.swing.JOptionPane;
import javax.swing.JDialog;


public class Program4
{

public static void main(String[] args)
{
Scanner input = new Scanner (System.in);
int product = 0;
double product1;
double product2;
double product3;
double product4;
double product5;
int quantity;
String done = "y";
int selection;
boolean isNo;
double totalSales = 0;

while (done.equals("y"))
{
JOptionPane.showInputDialog(null,
"Enter product number: ", "Product Number ",
JOptionPane.INFORMATION_MESSAGE);
product=input.nextInt();

JOptionPane.showInputDialog(null,
"Enter how many were sold: ", "Product Quantity ",
JOptionPane.INFORMATION_MESSAGE);
quantity= input.nextInt();



JOptionPane.showMessageDialog(null,
"Total Sales $" + totalSales);



switch (product)
{
case 1: product1 = 2.98;
totalSales+=(2.98*quantity);
break;
case 2: product2 = 4.50;
totalSales+=(4.50*quantity);
break;
case 3: product3 = 9.98;
totalSales+=(9.98*quantity);
break;
case 4: product4 = 4.49;
totalSales+=(4.49*quantity);
break;
case 5: product5 = 6.87;
totalSales+=(6.87*quantity);
break;
}

selection = JOptionPane.showConfirmDialog(null,
"Any other products?" );
isNo = (selection == JOptionPane.YES_NO_OPTION);
done = input.next();
}
System.out.println(totalSales);

}
}

最佳答案

显然,您显示了对话框,然后您没有对输入进行任何操作,而是要求用户再次输入。

JOptionPane.showInputDialog(null,
"Enter product number: ", "Product Number ",
JOptionPane.INFORMATION_MESSAGE);
product=input.nextInt();

showInputDialog 的调用实际上返回了用户输入,但您忽略了它。相反,您调用扫描控制台的 input.nextInt ()。这就是输入对话框出现的原因,您需要在控制台中输入您的输入。

因此,您根本不应实例化 Scanner 对象。只需调用:

String inputStr = JOptionPane.showInputDialog(null, "Enter product number: ", "Product Number ", 
JOptionPane.INFORMATION_MESSAGE);

现在您有一个输入字符串。但是您希望将 int 放入您的 product 变量中。所以你打电话:

product = Integer.parseInt (inputStr);

有不懂的可以在评论里问我!

关于Java:从 Scanner 实用程序转换为 JOptionPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31757333/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com