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

还有char能不能接收加号,在c++中好像可以,谢谢请问这个行不行?charopt;switch(opt){case'+':cout<<a+b;break;...}... 还有char能不能接收加号,在c++中好像可以,谢谢
请问这个行不行?
char opt;
switch(opt){
case '+':
cout<<a+b;
break;
...
}
展开
 我来答
源念云F
2010-05-01 · TA获得超过685个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:297万
展开全部
没有,由于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语句可以达到你的要求。
飞到太空外
2013-04-07
知道答主
回答量:16
采纳率:0%
帮助的人:4.4万
展开全部
char a= input.next().charAt(0);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式