我是一名新的java程序员,在我的下面代码中,当我试图输入像john smith这样的员工名字时,只有john在输出中打印。 如果我把
System.out.print("Enter Employee Name: ");
String employeeName = s.next();
上方
System.out.print("Enter SEX: ");
char SEX = s.next().charAt(0);
输出中的这段代码并不是要求我的employeeename值。并直接打印剩余的值。
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
**package cs480;
import java.util.Scanner;
public class CS480D1_Richa_2_Week2 {
public static void main(String [] args){
Scanner s=new Scanner(System.in);
System.out.print("Ente Employee ID: ");
int employeeId = s.nextInt();
System.out.print("Ente SEX: ");
char SEX = s.next().charAt(0);
System.out.print("Ente Employee Name: ");
String employeeName = s.next();
System.out.println("Employee ID is " +employeeId);
System.out.println("Employee Name is " +employeeName);
System.out.println("Employee gender is " +SEX);
}
}**
答案 0 :(得分:0)
尝试替换您的代码
字符串employeeName = scanner.nextLine();
代替
字符串employeeName = scanner.next();
next()只能读取输入直到空格。它无法读取由空格分隔的两个单词。此外,next()在读取输入后将光标放在同一行。
nextLine()读取包含单词之间空格的输入(即,读取直到行尾\ n)。读取输入后,nextLine()将光标定位在下一行。
答案 1 :(得分:0)
你可以使用
scanner.nextLine()
或覆盖分隔符以使用next()
scanner.useDelimiter("\n");
scanner.next();
答案 2 :(得分:0)
请试试这个:
var myArray = [
Object { key="11", value="1100", $$hashKey="00X"},
Object { key="22", value="2200", $$hashKey="018"}
];
var myObj = _.object(_.pluck(myArray, 'key'), _.pluck(myArray, 'value'));
答案 3 :(得分:0)
Scanner.next()
使用空白分隔符(在空白之前获取元素)。
所以要么使用
Scanner.nextLine()
或使用
重置分隔符Scanner s = new Scanner(input).useDelimiter("\\s*"your delimiter"\\s*");