java - Java Scanner 出现在 print() 之前
问题描述
我在使用 时尝试在请求输入之前打印一个字符串Scanner
,但它一直使输入出现在字符串之前。我找不到它这样做的任何原因。我在下面附上了完整的代码。
import java.util.Scanner;
public class FizzBuzz {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Number: ");
long number = scanner.nextLong();
if (number % 5 ==0) {
System.out.print("Fizz");
}
else if (number % 3 ==0) {
System.out.println("Buzz");
}
else if ((number % 5 ==0) && (number % 3 ==0)) {
System.out.println("FizzBuzz");
}
else {
System.out.println(number + " Is neither Fizzable or Buzzable");
}
}
}
解决方案
System.out.print
可能不会立即刷新到屏幕上,但您可以显式刷新它:
System.out.print("Number: ");
System.out.flush(); // here!
long number = scanner.nextLong();
推荐阅读
- java - 单元测试spring webservice客户端类继承WebServiceGatewaySupport
- vue.js - 如何在激活开关时启用文本字段?
- swift - 避免快速自动链接框架
- asp.net - 电子邮件主机和 SmtpClient 的问题
- r - 使用 tidyr::gather 在 r 中逐行保留列序列
- algorithm - 简单的停车算法
- javascript - 使用 Slick 或类似的东西将 PHP 图像循环转换为具有延迟加载的 JS
- python - Beautiful Soup 遇到嵌套 HTML 的麻烦
- node.js - 温斯顿以不同的方式格式化信息对象
- perl - 如何使用 UTF-16 在 Perl 中处理宽字符?