Scanner输入函数的Char型输入规则
我们平时输入的基本数据类型,比如整形int,浮点型float,双精度浮点型double,它们都有统一的输入格式:
Scanner input = new Scanner(System.in);
int firstnumber = input.nextInt(); //整形int型
double money = input.nextDouble(); //双精度浮点型double型
float money = input.nextFloat(); //浮点型float型
这里还有一个不是基本数据类型,但是格式是跟上面的格式大同小异的,那就是String字符串类型,它的格式为:
String money = input.next();
因为以上都是同一的输入格式,所以不易忘记,但是基本类型中有个字符型char型 却不是按照这样的规则的,如果按照以上格式编写的话,编译器会报错,此时可以有两种方法解决,第一种就是利用强制类型转换,因为int类型是包含char类型的,如果想要获得char型。可以这么写:
int firstnumber = input.nextInt();
char change = (char)int;
这样就相当于输入了字符型数据。
第二种方法的输入规则为:
char money = input.next().charAt(0);
#范例:
利用switch_case可以很清晰的解释:
Scanner input = new Scanner(System.in);
char c = input.next().charAt(0);
int a = 10,b = 20;
switch(c){
case '+':
System.out.println(a + b);
break;
case '-':
System.out.println(a - b);
break;
default:
break;
}