我遇到问题,因为net-beans接受一个角色,然后说这个人是和hr工资工人或每月支付任何帮助都会得到一个带有char的行的错误
import java.util.Scanner;
public class Infromation {
public static void main(String [] args){
Scanner input=new Scanner(System.in);
System.out.print("Enter employee num");
int e_num=input.nextInt();
System.out.print("Enter employee first name");
String e_fname=input.next();
System.out.print("Enter employee surname");
String e_sname=input.next();
System.out.print("Enter employee code C,H and F");
char e_code=input.next();
答案 0 :(得分:6)
char e_code=input.next();
Scanner.next()返回一个String。
如果你想让角色超出Scanner.next():
char e_code = input.next().charAt(0);
答案 1 :(得分:2)
使用
char e_code=input.next().charAt(0);
^^^^^^^^^^
而不是
char e_code=input.next();
答案 2 :(得分:0)
使用
Char e_code=input.next().charAt(0);
获取字符输入。
答案 3 :(得分:0)
您应该创建一个方法来支持它,因为它可能有各种问题。
public static char stringToChar(String value) {
if(value == null) {
throw new NullPointerException("stringToChar expect a not null value of argument [value]");
}
char[] charArray = value.toCharArray();
if(charArray.length == 0) {
return '\0'; // Empty
// or throw new IllegalStateException("stringToChar expect a String that is not empty");
}
if(charArray.length == 1) {
return charArray[0];
}
throw new IllegalStateException("stribtToChar expect a single Character string input:[" + value + "]");
}