【发布时间】:2021-01-20 14:01:59
【问题描述】:
我正在做一个非常基本的 Java 程序:
import java.util.Scanner;
public class App {
private static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int nbrFloors = 0;
int nbrColumns = 0;
int nbrRows = 0;
System.out.println("So you have a parking with " + Integer.toString(nbrFloors) + " floors " + Integer.toString(nbrColumns) + " columns and " + Integer.toString(nbrRows) + " rows");
System.out.print("What's the name of your parking ? ");
String parkName = sc.next(); //or sc.nextLine() ?
System.out.print("How much should an hour of parking ? If you want your parking to be free please type in '0' : ");
float intPrice = Float.parseFloat(sc.next());
Parking parking = new Parking(nbrFloors, nbrColumns, nbrRows, parkName, intPrice);
}
}
正如您在第 16 行看到的那样,我使用 Scanner.next() 方法,因为使用 Scanner.nextLine() 会跳过用户输入。但是我在这个线程Java Scanner why is nextLine() in my code being skipped? 中了解到,当您使用Scanner.next() 方法时,它会跳过您输入的第一个单词之后的任何内容。
所以我想知道如何在不跳过它(因为Scanner.nextLine() 这样做)并读取整个输入的情况下请求用户输入?
【问题讨论】: