A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈世涛 中级黑马   /  2012-7-11 18:07  /  1737 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ckage test001;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class ComputTest {
public static void main(String args[])throws IOException{
BufferedReader buf;
String s;
int x=12,y=5;
int a ;
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入一个符号:");
s=buf.readLine();
char ch=s.charAt(0);
switch(ch){
case'+':
a=x+y;
System.out.println(a);
break;
case'-':
a=x-y;
System.out.println(a);
break;
case'*':
a=x*y;
System.out.println("a");
break;
case'/':
a=x/y;
System.out.println("a");
break;
default:
System.out.println("输入有误!");
}
}
}


5 个回复

倒序浏览
我想知道你在问什么:L
回复 使用道具 举报
大哥....我硬着头皮终于看完了.....你赢了

ckage test001  提示  需要为class,interface 或enum....

感觉很像是大小写问题把。。。。。
回复 使用道具 举报
本帖最后由 王冰 于 2012-7-11 19:30 编辑

case'*':
a=x*y;
System.out.println("a");//这里应该写成System.out.println(a)或者System.out.println("a="+a);
break;

case'/':
a=x/y;
System.out.println("a");//这里和上面红色部分写法一样
break;

还有你那最开始的部分应该是package  test001吧,这个包名你可以去掉
或者你就带着包名编译,但是带包名编译方式不一样应该用如下方式编译:
javac  -d   .    ComputTest .java,那个点带表当前路径,你把点改成其他的路径也行
然后你运行的时候在在命令行方式下进入test001文件夹里面,然后就用正常的命令运行就行
即   java ComputTest

评分

参与人数 1技术分 +1 收起 理由
蒋映辉 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 陆强强 于 2012-7-12 09:16 编辑

ckage test001//这个是包,应该是package test001;
程序本身没问题,就是
System.out.println(”a”);//多了引号,应该是System.out.println(a);
break;
case'/':
a=x/y;
System.out.println(“a”);//同上
楼主还要细心点,都是书写错误
回复 使用道具 举报
本帖最后由 王宝康 于 2012-7-12 10:35 编辑

这个程序要达到的目的是,输入相应的运算符号,会执行相应的运算,就把运算结果打印到控制台上,至于你问的什么问题,我把代码复制到myelipse下,发现你的定义包语句不全,不知道是你自己误写还是怎么回事,定义包语句写在程序的第一行,格式为:package 你的包名,还有就是
case'*':
a=x*y;
System.out.println("a");//这里要和“+”“-”的输出语句一样,这样写的话,输出了一个字符串a,这里你的本意是要输出运算结果a的,所以要写成System.out.println(a)。
break;

case'/':
a=x/y;
System.out.println("a");//这里的解释同上
break;

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马