Java简单程序不允许接受用户输入

Java简单程序不允许接受用户输入,java,input,java.util.scanner,user-input,Java,Input,Java.util.scanner,User Input,我正在尝试制作一个简单的java程序,基本上我正在获取一些用户输入值,并将其打印在一个组织整齐的输出中。这一切都在控制台中。但当我继续添加更多输入时,程序就不允许我接受输入。这是我的密码: import java.util.*; public class output { public static void main(String arg[]) { //=========================================================

我正在尝试制作一个简单的java程序,基本上我正在获取一些用户输入值,并将其打印在一个组织整齐的输出中。这一切都在控制台中。但当我继续添加更多输入时,程序就不允许我接受输入。这是我的密码:

import java.util.*;

public class output {
    public static void main(String arg[]) {

        //================================================================================
        // Level 1 Start
        //================================================================================
        Scanner input = new Scanner(System.in);

        //Start asking the user questions and store the values
        System.out.println("Hello! What is your name?");
        String name = input.nextLine();
        System.out.println("Hello " + name + "! Nice to meet you!");

        //================================================================================
        // Level 1 End
        //================================================================================


        //================================================================================
        // Level 2 Start
        //================================================================================
        System.out.println("How old are you?");
        String age = input.nextLine();

        System.out.println("Are you male or female?");
        String gender = input.nextLine();

        System.out.println("How much do you weigh?");
        int weight = input.nextInt();

        System.out.println("Are you a student? (true/false)");
        boolean isAStudent = input.nextBoolean();

        //Add a space
        System.out.println("\n");

        //Display the user's data neatly
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("Gender: " + gender);
        System.out.println("Weight: " + weight);

        //check to see if the user is a student and print it out
        if(isAStudent) {
            System.out.println("Student?: Yes");        
        } else {
            System.out.println("Student?: No");
        }

        //================================================================================
        // Level 2 End
        //================================================================================

        //================================================================================
        // Level 3 Start
        //================================================================================

        System.out.println("\n");

        //display hello world a bunch of times
        for(int i = 0; i < 5; i++){
            System.out.println("Hello Hello Hello Hello Hello Hello");
        }

        System.out.println("\n");

        System.out.println("Tell me a quote");
        String quote = input.nextLine();

        System.out.print(quote);    

        //================================================================================
        // Level 3 End
        //================================================================================

    }
}
import java.util.*;
公共类输出{
公共静态void main(字符串arg[]){
//================================================================================
//一级启动
//================================================================================
扫描仪输入=新扫描仪(System.in);
//开始向用户提问并存储值
System.out.println(“你好!你叫什么名字?”);
字符串名称=input.nextLine();
System.out.println(“你好”+name+“!很高兴认识你!”);
//================================================================================
//一级终端
//================================================================================
//================================================================================
//二级启动
//================================================================================
System.out.println(“你多大了?”);
字符串年龄=input.nextLine();
你是男性还是女性;
字符串性别=input.nextLine();
System.out.println(“你的体重是多少?”);
int-weight=input.nextInt();
System.out.println(“你是学生吗?(对/错)”);
布尔值isastudion=input.nextBoolean();
//添加一个空格
System.out.println(“\n”);
//整齐地显示用户的数据
System.out.println(“名称:”+Name);
System.out.println(“年龄:+Age”);
System.out.println(“性别:”+性别);
系统输出打印项次(“重量:+重量);
//检查用户是否为学生并打印出来
如果(学生){
System.out.println(“学生?:是”);
}否则{
System.out.println(“学生:否”);
}
//================================================================================
//二级终端
//================================================================================
//================================================================================
//三级启动
//================================================================================
System.out.println(“\n”);
//多次显示hello world
对于(int i=0;i<5;i++){
System.out.println(“你好”);
}
System.out.println(“\n”);
System.out.println(“告诉我一个报价”);
字符串quote=input.nextLine();
系统输出打印(报价);
//================================================================================
//三级结束
//================================================================================
}
}
我知道我不应该在stackoverflow上放大量代码,但我觉得其他部分可以找到解决方案。所以我的问题是,当我到达第3级(检查注释)和打印语句时,它会说“告诉我一个报价”,我无法接受后面这行的输入。因此,字符串引号的输入就好像我按了enter键一样,即使我没有按。所以,在我能够输入任何东西之前,它就接受了这个值。请帮帮我。。。如果您需要更多解释,请告诉我。

之后

boolean isAStudent = input.nextBoolean();
换行符保留在缓冲区中。你应该摆脱它:

boolean isAStudent = input.nextBoolean();
input.nextLine();