0

net-beans が文字を取得してから、その人が時間給労働者か月給労働者かを言うと、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();
4

4 に答える 4

6
char e_code=input.next();

Scanner.next()は文字列を返します。

Scanner.next() から文字を取得したい場合:

char e_code = input.next().charAt(0);
于 2012-12-13T11:46:15.057 に答える
2

使用する

char e_code=input.next().charAt(0);
                        ^^^^^^^^^^

それ以外の

char e_code=input.next();

于 2012-12-13T11:47:50.103 に答える
0

使用する

Char e_code=input.next().charAt(0);

文字入力を取得します。

于 2012-12-13T11:56:22.530 に答える
0

You should creare a method to support this as it could have various problems.

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 + "]");
}
于 2012-12-13T11:56:52.673 に答える