java怎么接收输入的char类型数据(Scanner)

还有char能不能接收加号,在c++中好像可以,谢谢

第1个回答  2019-09-27
没有,由于Scanner是一个final类,不可以去继承.但是你可以使用面向对象的一个机制封装去实现一个nextChar操作。
import
java.io.InputStream;
import
java.util.InputMismatchException;
import
java.util.Scanner;
public
class
Scan
{
private
Scanner
reader;
public
Scan(InputStream
in)
{
reader
=
new
Scanner(in);
}
public
boolean
hasNextChar()
{
return
reader.hasNext(".");
}
public
char
nextChar()
{
String
ret
=
reader.next();
if
(ret.length()
>
1)
{
throw
new
InputMismatchException();
}
return
(char)ret.charAt(0);
}
public
boolean
hasNextInt()
{
return
reader.hasNextInt();
}
public
boolean
hasNextInt(int
radix)
{
return
reader.hasNextInt(radix);
}
public
int
nextInt()
{
return
reader.nextInt();
}
public
int
nextInt(int
radix)
{
return
reader.nextInt(radix);
}
public
static
void
main(String[]
args)
{
Scan
scan
=
new
Scan(System.in);
System.out.println(scan.hasNextChar());
System.out.println(scan.nextChar());
}
}
你是想做四则运算啊。结合使用Scan类可以和你的switch语句可以达到你的要求。
相似回答