小编Aug*_*ste的帖子

为什么这个Java程序的第17行没有被执行?

作为今天早上我在Uni的Java课程练习,我不得不写一个小程序来要求用户输入一些细节,然后打印回来.我已经完成了它的写作,但我遇到了一个奇怪的问题.

请参阅以下代码:

import java.util.Scanner;

public class Scanner_Exercise
{
    public static void main (String[] args)
    {
        Scanner keyboardIn = new Scanner(System.in);

        int accountId;
        String accountName;
        float accountBalance;

        System.out.println("Account ID: "); //Line 13
        accountId = keyboardIn.nextInt(); //Line 14

        System.out.println("Account name: "); //Line 16
        accountName = keyboardIn.nextLine(); //Line 17

        System.out.println("Account balance: ");
        accountBalance = keyboardIn.nextFloat();
    }
}
Run Code Online (Sandbox Code Playgroud)

当该程序运行时,跳过第17行(参见注释); Account name:打印,但用户没有机会输入信息,就好像该行代码被注释掉了一样.没有错误被抛出.输出如下所示:

帐户ID:
2
帐户名称:
帐户余额:

但是,如果我用16和17切换第13行和第14行,如下所示,程序运行正常,并且不会跳过任何行.

System.out.println("Account name: "); //Line 16
accountName = keyboardIn.nextLine(); //Line 17

System.out.println("Account ID: "); //Line 13
accountId = …
Run Code Online (Sandbox Code Playgroud)

java debugging

6
推荐指数
2
解决办法
457
查看次数

标签 统计

debugging ×1

java ×1