Java新手:有没有更好的方法来编写这个简单的代码

Java新手:有没有更好的方法来编写这个简单的代码,java,Java,不知怎的检测到一个空白输入 您可以使用,它为从流中读取提供了更简单的API Integer mNum = readInt("Please enter a membership number: "); 不确定是否是最好的,但可能是您想要的: private static void addMember() { Scanner sc = new Scanner(System.in).useDelimiter("\n"); while (true) { try {

不知怎的检测到一个空白输入

您可以使用,它为从流中读取提供了更简单的API

Integer mNum = readInt("Please enter a membership number: ");

不确定是否是最好的,但可能是您想要的:

private static void addMember() {
    Scanner sc = new Scanner(System.in).useDelimiter("\n");
    while (true) {
        try {
            System.out.println("Please enter a membership number: ");
            int mNum = sc.nextInt();
            System.out.println("Please enter the member's name: ");
            String mName = sc.next();
            members.put(mNum, mName);
        } catch (Exception e) {
            break;
        }
    }
}

您可以尝试这个类:

尝试代码复查堆栈。没有[标准]那样的一体化功能。另外,我建议使用
int
,除非需要
Integer
。使用scanner,或者简单地将代码重构为实用程序方法。@pst我认为我必须使用Integer,因为HashMap只接受类型对象?@user1296058您部分正确,但可以为您解决这个问题。
private static void addMember() {
    Scanner sc = new Scanner(System.in).useDelimiter("\n");
    while (true) {
        try {
            System.out.println("Please enter a membership number: ");
            int mNum = sc.nextInt();
            System.out.println("Please enter the member's name: ");
            String mName = sc.next();
            members.put(mNum, mName);
        } catch (Exception e) {
            break;
        }
    }
}
try{
Integer mNum = Integer.parseInt(readLine("Please enter a membership number: "));
}catch (NumberFormatException e){
 System.out.println("Error parsing membership number");
}