读取Java输入整数

问题描述 投票:1回答:2

当我运行此程序时,它不起作用。我可以输入您的名字,我的出生年份,当前年份,但是输入当前年份后,它不会显示我的年龄。您能告诉我代码中有什么问题并解释原因吗?似乎我不明白输入在Java中是如何工作的。

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner get_input = new Scanner(System.in);
        System.out.println("Enter your name ");
        String name = get_input.nextLine();


        boolean is_int = false;
        int year_of_birth = 0;
        System.out.println("Enter your year of birth");
        while (!get_input.hasNextInt()) {

            System.out.println("Year invalid");
            System.out.println("Enter your year of birth");
            get_input.next();
        }
        year_of_birth = get_input.nextInt();

        System.out.println("Enter the current year");
        get_input.next();
        int current_year=get_input.nextInt();

        int age = current_year-year_of_birth;

        System.out.println(current_year);
        System.out.println(year_of_birth);
        System.out.println("Your name is " + name + " and you are " + age + " year old.");

        get_input.close();

    }
}

提前感谢

java input int java.util.scanner
2个回答
0
投票

如果删除get_input.next();在打印“输入当前年份”后,您的问题将消失。我还将在该区域中添加错误检查,因为用户可以输入无效的年份。


0
投票

只需消除打印get_input.next();之后的行System.out.println("Enter the current year");,并且该代码即可工作。

© www.soinside.com 2019 - 2024. All rights reserved.