windfly300 2015-04-21 01:44 采纳率: 100%
浏览 1367
已采纳

菜鸟求帮看看代码,困扰好久

看书中举得SWITCH例子;
加减乘除对应的结果不一样,他想举得例子是SWITCH中CASE执行一组相同操作时只输出最后一个结果
package HHP0606;
import java.io.*;
public class switch1 {
public static void main(String[] args)throws IOException{
int a,b;
char oper='/';
BufferedReader buf;
String str;
System.out.println("please input a:");
buf=new BufferedReader(new InputStreamReader(System.in));
str=buf.readLine();
a=Integer.parseInt(str);
System.out.println("please input b:");
str=buf.readLine();
b=Integer.parseInt(str);
switch(oper)
{
case '+':
System.out.println(a+"+"+b+"="+(a+b));
break;
case '-':
System.out.println(a+"-"+b+"="+(a-b));
break;
case '*':
System.out.println(a+"*"+b+"="+(a*b));
break;
case '/':
System.out.println(a+"/"+b+"="+(a/b));
break;
default:
System.out.println("Unknow operator!");

    }


}

}
我就想试试从键盘上输出+-*/;
失败了。我想问一下各位,我该怎么用SWITCH去实现
之后有想了一个用IF的
最后到输入+-*/的时候没有结果
希望大家帮我看看

package HHP0606;
import java.io.*;
public class switch1 {
public static void main(String[] args)throws IOException{
int a,b;
BufferedReader buf;
String str,cc;
System.out.println("please input a:");
buf=new BufferedReader(new InputStreamReader(System.in));
str=buf.readLine();
a=Integer.parseInt(str);
System.out.println("please input b:");
str=buf.readLine();
b=Integer.parseInt(str);
System.out.println("please input cc:");
cc=buf.readLine();
if(cc == "+")
System.out.println(a+"+"+b+"="+(a+b));
if( cc == "-")
System.out.println(a+"-"+b+"="+(a-b));
if( cc =="*")
System.out.println(a+"*"+b+"="+(a*b));
if( cc =="/")
System.out.println(a+"/"+b+"="+(a/b));
}

}

  • 写回答

2条回答 默认 最新

  • devmiao 2015-04-21 01:56
    关注

    switch没有问题,问题是,oper没有被你赋值,它始终是除号。
    按照你下面的写法修改上面的程序:
    cc=buf.readLine();
    oper=cc.charAt(0);
    switch (oper)
    ...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于Java对接海康威视车牌识别一体机SDK是否需要固定外网的IP?
  • ¥15 Linux扩容时,格式化卡住了:vgdispaly查看卷组信息,没有输出
  • ¥18 关于#ubuntu#的问题:使用背景-工作职责内有七八台ubuntu系统的电脑,平时需要互相调取资料,想实现把这几台电脑用交换机组成一个局域网,来实现指定文件夹的互相调取和写入
  • ¥20 求一个简易射频信号综测仪
  • ¥15 esp8266 tally灯 接收端改为发射端
  • ¥30 Labview代码调用access 数据库,相同代码其中一个调用不出来是为什么
  • ¥15 基于51单片机的交通灯系统,找改程序有点急
  • ¥15 java启动jar包后,运行过程中宕机
  • ¥15 进行LM运算过程中出现了无法识别的问题,具体问题如下图
  • ¥500 高有偿提问!求优化设计微信小程序