Java 第二次JOptionPane赢得';不上来
我只是从Java和编程开始。有人能给我解释一下,为什么在我输入第一个对话框的信息后,第二个对话框不会出现 谢谢Java 第二次JOptionPane赢得';不上来,java,Java,我只是从Java和编程开始。有人能给我解释一下,为什么在我输入第一个对话框的信息后,第二个对话框不会出现 谢谢 // Java Practice import javax.swing.JOptionPane; import java.util.Scanner; public class DialogTest { public static void main(String [] args) { Scanner keyboard = new Scanner(S
// Java Practice
import javax.swing.JOptionPane;
import java.util.Scanner;
public class DialogTest
{
public static void main(String [] args)
{
Scanner keyboard = new Scanner(System.in);
String firstname;
String lastname;
int age;
JOptionPane.showInputDialog("What is " +
"your first name?");
firstname = keyboard.nextLine();
JOptionPane.showInputDialog("What is " +
"your last name?");
lastname = keyboard.nextLine();
JOptionPane.showInputDialog("How old are you?");
age = keyboard.nextInt();
JOptionPane.showMessageDialog(null, "I see, so your name is: " + firstname + lastname + " and you are" + age + " years old.");
System.exit(0);
}
}
JOptionPane.showInputDialog()
返回包含用户输入值的字符串。不要使用Scanner
类,而是将方法调用的返回值存储到变量中:
String firstname, lastname, age;
firstname = JOptionPane.showInputDialog("What is " +
"your first name?");
lastname = JOptionPane.showInputDialog("What is " +
"your last name?");
age = JOptionPane.showInputDialog("How old are you?");
JOptionPane.showMessageDialog(null, "I see, so your name is: " + firstname + lastname + " and you are" + age + " years old.");
JOptionPane.showInputDialog()
返回包含用户输入值的字符串。不要使用Scanner
类,而是将方法调用的返回值存储到变量中:
String firstname, lastname, age;
firstname = JOptionPane.showInputDialog("What is " +
"your first name?");
lastname = JOptionPane.showInputDialog("What is " +
"your last name?");
age = JOptionPane.showInputDialog("How old are you?");
JOptionPane.showMessageDialog(null, "I see, so your name is: " + firstname + lastname + " and you are" + age + " years old.");
您不需要同时使用作业窗格
和扫描仪
。你只需要一个(我强烈推荐Scanner
而不是另一个)
发生的情况是:对JOptionPane
的调用正在打开一个对话框,供用户输入值。该值由此方法调用返回,您不需要对其执行任何操作。然后,在对话框完成后,调用keyboard.nextLine()
,它会阻止程序,直到用户在命令行窗口(或IDE,如果您正在通过该窗口运行它)中输入另一个值为止
如果您想查看两个可用选项,请尝试注释键盘
行并设置firstname=JOptionPane…
等等。尝试该程序后,请执行相反的操作:注释掉JOptionPane
调用,并将其替换为System.out.println
调用
作为一个开始通过JOptionPane
学习输入处理的人,我相信Scanner
是一个更好的工具。您不需要同时使用JOptionPane
和Scanner
。你只需要一个(我强烈推荐Scanner
而不是另一个)
发生的情况是:对JOptionPane
的调用正在打开一个对话框,供用户输入值。该值由此方法调用返回,您不需要对其执行任何操作。然后,在对话框完成后,调用keyboard.nextLine()
,它会阻止程序,直到用户在命令行窗口(或IDE,如果您正在通过该窗口运行它)中输入另一个值为止
如果您想查看两个可用选项,请尝试注释键盘
行并设置firstname=JOptionPane…
等等。尝试该程序后,请执行相反的操作:注释掉JOptionPane
调用,并将其替换为System.out.println
调用
作为一个开始通过JOptionPane
学习输入处理的人,我相信Scanner
是一个更好的工具。我会尝试一下,并记住您的建议。谢谢你的详细回答。我会试试看,记住你的建议。谢谢你的详细回答。