import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// Write your code here.
// Read integer
int integer = scan.nextInt();
// Read double
double doubleValue = scan.nextDouble();
// Read string
scan.nextLine();
String string = scan.nextLine();
// Print the results
System.out.println("String: " + string);
System.out.println("Double: " + doubleValue);
System.out.println("Int: " + integer);
}
}
这是一个 hackerrank 问题,hackerrank 编译器说它是正确的。我解决了这个问题,但我想知道为什么 IntelliJ IDEA 在这段代码中没有打印任何内容(注意:我之前在 IntelliJ 中编写的所有代码都运行完美,除了这个)
当您在 Intellij IDEA 中运行该代码时,会发生以下情况:
Scanner
被分配给键盘输入对应的“标准”输入流:
Scanner scan = new Scanner(System.in);
int integer = scan.nextInt();
double
和 string
具有相同的行为:
double doubleValue = scan.nextDouble();
scan.nextLine(); // there is "empty" scan for String
String string = scan.nextLine();
System.out.println("String: " + string);
System.out.println("Double: " + doubleValue);
System.out.println("Int: " + integer);
因此,如果您运行该程序并且不输入 4 次,您将看不到任何结果。