为了在Java中使用新行编写输入,我需要做什么?

时间:2017-08-01 09:13:15

标签: java text numbers

因此,在输入while指令所需的数字后,应该显示 结果然后“在此处输入您的姓名:”文字。 之后我应该能够输入文本,但显然我不能,它只显示“Hello”消息并跳转到下一条指令。

但是,如果我在一系列数字之后写下文本,它就可以了。如何让程序让我在“在此输入你的名字”消息后输入文字?

import java.util.Scanner;

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

        int age= 21, k=10, nr=1, sum=0, val=0;
        k=cristi.nextInt();
        while(nr<=k){
            val=cristi.nextInt();
            sum=sum+val;
            nr++;
        }
        sum=sum/k;
        System.out.println(sum);

        System.out.println(age>50 ? "You are old!" : "You are young!");

        tuna tunaObject= new tuna();
        System.out.println("Enter the name here: ");

        String a= cristi.nextLine();
        tunaObject.simpleMessage(a);

        System.out.println("Enter first name: ");
        String temp= cristi.nextLine();

        tunaObject.setName(temp);
        tunaObject.afisaj();         
    }
}

2 个答案:

答案 0 :(得分:1)

这是关于缓冲区和Scanner的问题。要解决您的问题,请在每个cristi.nextLine()后执行cristi.nextInt(),以便清除缓冲区。

有关详细信息,请查看this thread

答案 1 :(得分:0)

添加以下行:

cristi.nextLine();

while循环之后解决您的问题。

编辑: @Xatyrian答案提供更多背景信息。