问题描述
我正在为我的编译器使用 gosApache NetBeans,这就是我的代码
package com.mycompany.mavenproject4;
import java.util.*;
public class MyZodiac {
public static void main(String[] args) {
Scanner zodiac = new Scanner(system.in);
System.out.println("Chinese Zodiac Sign");
System.out.print("Enter your Name: ");
System.out.print("");
String name = zodiac.next();
zodiac.nextLine();
System.out.print("Enter your year of birth: ");
int year = zodiac.nextInt();
}}
然后当我运行这段代码时,它变成了这样
Chinese Zodiac Sign
<user input name>
<user input year>
Enter your Name: Enter your year of birth:
我想要的是
Chinese Zodiac Sign
Enter your name: <user input>
Enter your year of birth:<user input>
解决方法
System.out.println
包含一个换行符,它会导致对缓冲输出进行隐式刷新(如 System.out
)。您可以明确flush
。但是打印 ""
没有任何作用。总之,改变
System.out.print("Enter your Name: ");
System.out.print("");
String name = zodiac.next();
zodiac.nextLine();
System.out.print("Enter your year of birth: ");
到
System.out.print("Enter your Name: ");
System.out.flush();
String name = zodiac.next();
zodiac.nextLine();
System.out.print("Enter your year of birth: ");
System.out.flush();