为什么System.out.println无法打印出字符串值(在我的特定情况下)?

里雅娜

我的程序应要求用户输入一些值,并根据选择的菜单选项(在我的情况下为3),应正确打印出这些值我曾经System.out.println("Your name: " + name);打印出用户插入的姓名,但不幸的是它无法打印出姓名。该行只是留空。为什么这样?我该如何解决。

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

    int userChoose;
    String name = null;
    int accNum = 0;
    double initiateAmount = 0;
    double newAmm = 0;

    double depOrWith = 0;
    System.out.println("WELCOME TO OUR BANK!\n\n"
            + "...................\n"
            + "...................\n\n"
            + "Choose your optiin:\n"
            + "1. Create new account\n"
            + "2. Deposit/withdraw\n"
            + "3. View details\n"
            + "4. Deleting an account\n"//not used yet
            + "5. View all the accounts\n"//not used yet
            + "6. Quit\n\n");
    System.out.println("*************\n"
            + "************");
    while (true) {
        userChoose = sc.nextInt();

        if (userChoose == 1) {

            System.out.println("Enter your full name:");

            name = sc.nextLine();
            sc.nextLine();

            System.out.println("Choose an account number:");

            accNum = sc.nextInt();

            System.out.println("Enter an initiating amount:");

            initiateAmount = sc.nextDouble();
            System.out.println("\n-----------\n"
                    + "------------");
        } else if (userChoose == 2) {

            System.out.println("Enter negative value to withdraw and positive to deposit");
            depOrWith = sc.nextInt();
            if (depOrWith < 0) {

               initiateAmount = initiateAmount + depOrWith;
            } else {

               initiateAmount = initiateAmount + depOrWith;
            }

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

        } else if (userChoose == 3) {

            System.out.println("Your name: " + name);
            System.out.println("Your account number: " + accNum);
            System.out.println("Your current balance: " + initiateAmount);
            System.out.println("\n-----------\n"
                    + "------------");
        } else if (userChoose == 6) {

            System.exit(0);

        }

    }

}
曼努蒂

选择选项并按Enter后,Scanner不会读取换行符。之后,当name = sc.nextLine();调用时,它将仅读取所选选项之后的新行,name并将被分配一个空字符串。要解决此问题,只需nextLine在读取所选选项后添加一个呼叫,并nextLine在读取名称时删除重复项即可

while (true) {
    userChoose = sc.nextInt();
    sc.nextLine();

    if (userChoose == 1) {

        System.out.println("Enter your full name:");

        name = sc.nextLine();

        System.out.println("Choose an account number:");

        ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么System.out.println不好?

来自分类Dev

为什么我的System.out.println无法执行?

来自分类Dev

为什么System.out.println()不抛出NullPointerException?

来自分类Dev

为什么我们使用system.out.flush()?

来自分类Dev

为什么我们使用system.out.flush()?

来自分类Dev

为什么system.out.println的更改在没有构建jar的情况下反映出来?

来自分类Dev

为什么system.out.println的更改在没有构建jar的情况下反映出来?

来自分类Dev

在单行为什么多的System.out.println打印值的通话

来自分类Dev

为什么我从system.out.println()和system.exit()得到两个不同的值?

来自分类Dev

为什么在使用System.out.println()打印集时为何要并发修改异常?

来自分类Dev

为什么System.out.println(0_101); 打印65?

来自分类Dev

Java:为什么我的书为什么特别是使用System.out.print()将字符串var与空字符串串联起来?

来自分类Dev

为什么我不应该在Android中使用System.out.println()

来自分类Dev

为什么在之后添加for循环时System.out.println不起作用?

来自分类Dev

为什么使用Scanner.next()导致这种奇怪的System.out.println()行为?

来自分类Dev

为什么 System.Out.println[array[1]); 使用 String.split 时使数组越界?

来自分类Dev

为什么System.out.prinln混乱?

来自分类Dev

为什么Java中的记录器很少像System.out.println那样具有.toString()?

来自分类Dev

在Java中,为什么要输出int a =('a'+'b'+'c'); 是不同的形式System.out.println('a'+'b'+'c'+“”)

来自分类Dev

为什么printf没有在缓冲区溢出中打印出字符串?

来自分类Dev

为什么if语句没有打印出字符串?cpp

来自分类Dev

为什么扫描程序无法读取单词之间的任何(空白)空间(在我的特定情况下)?

来自分类Dev

如果我们串联,System.out.println()是否会创建字符串?

来自分类Dev

为什么System.out.prinln出现故障?

来自分类Dev

Java 8中“ System.out :: println”的用途是什么

来自分类Dev

()-> System.out.println(“ done”)是什么意思?

来自分类Dev

什么是Java System.out.println的PHP等效项

来自分类Dev

为什么在某些情况下php无法在字符串模板中显示变量?

来自分类Dev

为什么在这种情况下我不必引用字符串变量?

Related 相关文章

  1. 1

    为什么System.out.println不好?

  2. 2

    为什么我的System.out.println无法执行?

  3. 3

    为什么System.out.println()不抛出NullPointerException?

  4. 4

    为什么我们使用system.out.flush()?

  5. 5

    为什么我们使用system.out.flush()?

  6. 6

    为什么system.out.println的更改在没有构建jar的情况下反映出来?

  7. 7

    为什么system.out.println的更改在没有构建jar的情况下反映出来?

  8. 8

    在单行为什么多的System.out.println打印值的通话

  9. 9

    为什么我从system.out.println()和system.exit()得到两个不同的值?

  10. 10

    为什么在使用System.out.println()打印集时为何要并发修改异常?

  11. 11

    为什么System.out.println(0_101); 打印65?

  12. 12

    Java:为什么我的书为什么特别是使用System.out.print()将字符串var与空字符串串联起来?

  13. 13

    为什么我不应该在Android中使用System.out.println()

  14. 14

    为什么在之后添加for循环时System.out.println不起作用?

  15. 15

    为什么使用Scanner.next()导致这种奇怪的System.out.println()行为?

  16. 16

    为什么 System.Out.println[array[1]); 使用 String.split 时使数组越界?

  17. 17

    为什么System.out.prinln混乱?

  18. 18

    为什么Java中的记录器很少像System.out.println那样具有.toString()?

  19. 19

    在Java中,为什么要输出int a =('a'+'b'+'c'); 是不同的形式System.out.println('a'+'b'+'c'+“”)

  20. 20

    为什么printf没有在缓冲区溢出中打印出字符串?

  21. 21

    为什么if语句没有打印出字符串?cpp

  22. 22

    为什么扫描程序无法读取单词之间的任何(空白)空间(在我的特定情况下)?

  23. 23

    如果我们串联,System.out.println()是否会创建字符串?

  24. 24

    为什么System.out.prinln出现故障?

  25. 25

    Java 8中“ System.out :: println”的用途是什么

  26. 26

    ()-> System.out.println(“ done”)是什么意思?

  27. 27

    什么是Java System.out.println的PHP等效项

  28. 28

    为什么在某些情况下php无法在字符串模板中显示变量?

  29. 29

    为什么在这种情况下我不必引用字符串变量?

热门标签

归档