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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乔兵 高级黑马   /  2013-9-2 20:08  /  1487 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 乔兵 于 2013-9-2 20:28 编辑

  1. import java.util.*;
  2. public class Excise019{
  3. public static void main(String[] args){
  4. Scanner in=new Scanner(System.in);
  5. System.out.println("请依次输入数字");
  6. int a=in.nextInt();
  7. int b=in.nextInt();
  8. int c=in.nextInt();
  9. if(a==b==c){System.out.println("这三个数相等");}else{if(a+b+c>1000){System.out.println("这三个数之和大于1000");}else{
  10. System.out.println("三个数之和不大于1000");}}
  11. }
  12. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

8 个回复

倒序浏览
第十行有错误唉。10.if(a==b==c)改为if(a==b&&b==c){:soso_e100:}

点评

瞬间领悟了。。。太大意了。。感谢你还有楼下的战友们  发表于 2013-9-2 20:29
回复 使用道具 举报
为什么三个数相等的时候,就不去判断他们相加的和是不是大于1000了,还有等于1000的情况呢
回复 使用道具 举报
你的判断条件有问题“a == b == c”, “==”是比较运算符,返回值是true或false,然后又与Int变量c比较,boolean与int比肯定出错,而且这在编译期就能检测出来的。改一下判断条件就行。
  1. import java.util.*;

  2. public class Excise019{
  3.         public static void main(String[] args) {
  4.                 Scanner in = new Scanner(System.in);
  5.                 System.out.println("请依次输入数字");
  6.                 int a = in.nextInt();
  7.                 int b = in.nextInt();
  8.                 int c = in.nextInt();
  9.                 if (a == b && a == c) {
  10.                         System.out.println("这三个数相等");
  11.                 } else {
  12.                         if (a + b + c > 1000) {
  13.                                 System.out.println("这三个数之和大于1000");
  14.                         } else {
  15.                                 System.out.println("三个数之和不大于1000");
  16.                         }
  17.                 }
  18.         }
  19. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
if(a==b==c)在这里判断条件出错,在Java里a==b比较出来的值是boolean,而boolean值是不能和整数值用==进行比较的,再==后面也只能是boolean。你可以改成a==b&&b==c
回复 使用道具 举报
  1. import java.util.*;
  2. public class Excise019{
  3.          public static void main(String[] args){
  4.                 Scanner in=new Scanner(System.in);
  5.                 System.out.println("请依次输入数字");
  6.                 int a=in.nextInt();
  7.                 int b=in.nextInt();
  8.                 int c=in.nextInt();
  9.                 if(a==b&&b==c){
  10.                         System.out.println("这三个数相等");
  11.                 }else{ if(a+b+c>1000){
  12.                         System.out.println("这三个数之和大于1000");
  13.                 }else{
  14.                         System.out.println("三个数之和不大于1000");}
  15.                 }
  16.         }
  17. }
复制代码
这样会清晰一点,java中没有a==b==c这种写法,一般写为a==b&&b==c  

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
李锡碧 发表于 2013-9-2 20:13
第十行有错误唉。10.if(a==b==c)改为if(a==b&&b==c)

嗯 知道你是大意 多写写
回复 使用道具 举报
java语法中不允许出现连等的 ,最好加一个 短路与
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马