Java 两个方法同时执行?为什么?

Java 两个方法同时执行?为什么?,java,methods,switch-statement,execution,Java,Methods,Switch Statement,Execution,虽然这应该是一个接一个的,但在输入全名后,它应该进入包大小步骤。如果我输入,它将进入第三步,而不是重复第二步的输入 我想这是因为在你的clientName函数中,你刚刚打印了“请输入你的全名:”而没有等待输入。例如,您必须在此处执行以下操作scan.nextLine()将等待用户按enter键: Please input your full name: Please input your package size: 1. Small 2. Medium 3. Large 更新:按

虽然这应该是一个接一个的,但在输入全名后,它应该进入包大小步骤。如果我输入,它将进入第三步,而不是重复第二步的输入

我想这是因为在你的
clientName
函数中,你刚刚打印了“请输入你的全名:”而没有等待输入。例如,您必须在此处执行以下操作scan.nextLine()将等待用户按enter键:

Please input your full name: 
Please input your package size: 
 1. Small 
 2. Medium 
 3. Large
更新:按如下方式更新clientName函数

Scanner scan = new Scanner();
System.out.println("Please input your full name:");

String name= scan.next();

System.out.println(name);

scan.nextLine();

从技术上讲,是的,它应该,实际的,没有线索,因为你提供的代码没有给我们足够的信息。请提供其他情况。因此,我们可以帮助你给我你的完整代码,请提供一个。您提供的代码不能由其他人运行以产生您报告的行为。我可以看到这是的重复。如果您查看我的代码,您是对的,使用
nextLine()并替换为
next()
适用于第一个函数,但在第一次输入后,它会同时加载函数2和3。非常感谢。这很有效。我的理解正确吗?这是因为按下空格键之前,next()将接受所有内容?如果是这样,为什么要加载两个函数?
Scanner scan = new Scanner();
System.out.println("Please input your full name:");

String name= scan.next();

System.out.println(name);

scan.nextLine();
public static String clientName() {
    String name = " ";
    System.out.println("Please input your full name: ");
    name = keyb.next();

    keyb.nextLine();

    return name;
}