java.util.Scanner;vs JOptionPane;

java.util.Scanner;vs JOptionPane;,java,swing,java.util.scanner,joptionpane,Java,Swing,Java.util.scanner,Joptionpane,请告诉我,我想知道如何实现JOptionPane而不是导入java.util.Scanner; 我还有4个独立的班级 如果我实现JOptionPane,它会清理代码吗?我还想知道任何人会做什么更改 员工,班级 这比你想象的要容易得多,如果你尝试的话。习惯于阅读JavaAPI 甚至有例子 首先看一下 您基本上想要的是使用JOptionPane.showInputDialog,它可以用来提示输入的使用 是的,有几种口味,但让我们简单地保留一下,看看 JavaDocs告诉我们 消息-要显示的对象 返回

请告诉我,我想知道如何实现JOptionPane而不是导入java.util.Scanner; 我还有4个独立的班级 如果我实现JOptionPane,它会清理代码吗?我还想知道任何人会做什么更改

员工,班级


这比你想象的要容易得多,如果你尝试的话。习惯于阅读JavaAPI

甚至有例子

首先看一下

您基本上想要的是使用JOptionPane.showInputDialog,它可以用来提示输入的使用

是的,有几种口味,但让我们简单地保留一下,看看

JavaDocs告诉我们

消息-要显示的对象 返回:用户的输入,或null表示用户取消了输入

因此,从这一点上我们可以使用像

String value = JOptionPane.showInputDialog("What is your name?");
if (value != null) {
    System.out.println("Hello " + value);
} else {
    System.out.println("Hello no name");
}
String value = InputHelper.promptUser("Please enter the hours worked");
hours_ = Double.parse(value);
它显示

现在,如果我们看一下你的代码,你可以用

例如

public class InputHelper {
    public static String promptUser(String prompt) {
        String input = JOptionPane.showInputDialog(prompt);
        return input;
    }
}
现在,我建议创建一个简单的助手方法,可以用一行代码提示用户,例如

public class InputHelper {
    public static String promptUser(String prompt) {
        String input = JOptionPane.showInputDialog(prompt);
        return input;
    }
}
这可能会被用来像

String value = JOptionPane.showInputDialog("What is your name?");
if (value != null) {
    System.out.println("Hello " + value);
} else {
    System.out.println("Hello no name");
}
String value = InputHelper.promptUser("Please enter the hours worked");
hours_ = Double.parse(value);
这就是它变得混乱的地方,因为您现在需要验证用户的输入


您可以扩展InputHelper的想法,以进行自动转换,并在值无效时重新提示用户…作为SO帮助中心的想法

:鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。你能在你的答案中加入一个例子吗?我认为这个答案在这里是受欢迎的,因为他提供了链接中的例子。尽管如此,我还是想请@MarGar为这篇文章添加一些细节:这将有助于OP和未来的读者理解你在这里试图回答的问题哦,老兄,谢谢你,这对我有很大的帮助+1,很好的书面回答。@AfzaalAhmadZeeshan希望我涵盖了足够的基础知识,让OP自己尝试一下:p这就是堆栈溢出的目的,我认为oDesk和Elance是专为某些东西而设计的,而不是你的尝试雇用一个疯狂的程序员:是的,谢谢,这对我有帮助,更谢谢u@uknownothing我很高兴我们能提供帮助,玩得开心:public char getGender是带有类型参数Gender的泛型吗?若然,原因为何?从来没用过。为什么在getGender和setGender方法上有一个类型参数?@nrubin29 umm实际上我不确定这是java造成的一个错误更改,我不明白,但它使红色X消失了,只需从这两个方法中删除。谢谢,这很有效,没有错误
public static String getInput(String inputType) {
    String input = JOptionPane.showInputDialog("Enter the " + inputType + ": ");
    return input;
}
public class InputHelper {
    public static String promptUser(String prompt) {
        String input = JOptionPane.showInputDialog(prompt);
        return input;
    }
}
String value = InputHelper.promptUser("Please enter the hours worked");
hours_ = Double.parse(value);