Java:在一行上收集具有多个变量类型的输入
如何在一行中收集4个不同类型(字符串、浮点和整数)的输入变量,如下所示:(字符串、浮点、浮点、int) 例如:Java:在一行上收集具有多个变量类型的输入,java,Java,如何在一行中收集4个不同类型(字符串、浮点和整数)的输入变量,如下所示:(字符串、浮点、浮点、int) 例如: "joey" 17.4 39.9 6 这就是我的代码现在的样子。它可以工作,但一次只收集一行变量 import java.util.Scanner; public class EmployeePay{ public static void main(String[] args) { Scanner keyboard = new Scanner(System.in
"joey" 17.4 39.9 6
这就是我的代码现在的样子。它可以工作,但一次只收集一行变量
import java.util.Scanner;
public class EmployeePay{
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
String employeeID = "";
double hrsWorked;
double wageRate;
int deductions;
System.out.println("Hello Employee! Please input your employee ID, hours worked per week, hourly rate, and deductions: ");
employeeID = keyboard.nextLine();
hrsWorked = keyboard.nextFloat();
wageRate = keyboard.nextFloat();
deductions = keyboard.nextInt();
}
}
我是否需要为循环使用?更改
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println( " enter i/p ");
while (scan.hasNext()) { // This will loop your i/p.
if (scan.hasNextInt()) { // if i/p int
System.out.println(" Int " + scan.nextInt());
} else if (scan.hasNextFloat()) { // if i/p float
System.out.println(" Float " + scan.nextFloat());
}
else { // if i/p String
System.out.println( " String " + scan.next());
}
}
}
employeeID = keyboard.nextLine();
到
人们现在可以输入中间有空格的输入,或者每次使用enter键
您可能还必须将println语句更改为print语句。当有多个项目要收集时,println有时会抛出Scanner类 keyboard.nextLine()代码>是您的问题。其余的一次只收集一行,如果你按enter键,你可以在一行上收集它们。我如何才能做到不需要单击enter键,而所有输入都在同一行上?你的程序如何知道你没有按enter键就完成了输入?我不知道。。。有没有办法让程序知道每个空格在输入中分隔了一个不同的变量?在某种程度上,它如何知道您输入的是6
,而不是636
?
employeeID = keyboard.next();