没有,由于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语句可以达到你的要求。
char a= input.next().charAt(0);