gpt4 book ai didi

java - 如何使用多个输入对话框(Java 新手)

转载 作者:行者123 更新时间:2023-11-30 07:14:00 25 4
gpt4 key购买 nike

我正在尝试创建一个程序,要求用户提供标记值(当他们想要结束列表时要输入的值)。然后它要求用户输入数字,直到他们重新输入标记值。然后计算出列表中的最大数量。我是 Java 的新手,每当我运行该程序时,它只是询问标记值,然后什么都不做(从不弹出第二个输入对话框)。我敢肯定这很简单,我做错了,但我想不通。感谢您的帮助。

import java.util.*; 

import javax.swing.JOptionPane;
public class HW1 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);
int number;
int max;
int sentinel;
int count=0;

JOptionPane.showInputDialog("Please enter a sentinel value: ");
sentinel=input.nextInt();

JOptionPane.showInputDialog("Please enter numbers. Enter" + sentinel +" to end.");
number = input.nextInt();
max = number;
while (number!=sentinel){
count +=1;
if (number>max)
max=number;
JOptionPane.showInputDialog("Please enter numbers. Enter" + sentinel +" to end.");
number = input.nextInt();
}
if (count!=0){
JOptionPane.showMessageDialog(null, "The max is:" + max);
}
}
}

最佳答案

您正在混合将数据输入程序的方式。让我们开始吧:

扫描仪输入 = new Scanner(System.in);

上面的行允许您从键盘在命令行中捕获数据。

JOptionPane.showInputDialog("Please enter a sentinel value: ");

此选项 Pane 显示正确,您输入一个值然后什么也没有发生。这是因为您的程序正在等待在命令行

中输入内容
sentinel=input.nextInt();

当您的程序到达上面的行时,input.nextInt() 会停止程序,直到您在命令行中输入内容。

正确的方法应该是这样的:

sentinel = Integer.parseInt(JOptionPane.showInputDialog("Please enter a sentinel value: "));
number = Integer.parseInt(JOptionPane.showInputDialog("Please enter numbers. Enter" + sentinel +" value to end."));

并删除:

number = input.nextInt();
sentinel=input.nextInt();

关于java - 如何使用多个输入对话框(Java 新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18776261/

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