黑马程序员技术交流社区
标题:
新手求解,运行错误
[打印本页]
作者:
乔兵
时间:
2013-9-2 20:08
标题:
新手求解,运行错误
本帖最后由 乔兵 于 2013-9-2 20:28 编辑
import java.util.*;
public class Excise019{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请依次输入数字");
int a=in.nextInt();
int b=in.nextInt();
int c=in.nextInt();
if(a==b==c){System.out.println("这三个数相等");}else{if(a+b+c>1000){System.out.println("这三个数之和大于1000");}else{
System.out.println("三个数之和不大于1000");}}
}
}
复制代码
作者:
李锡碧
时间:
2013-9-2 20:13
第十行有错误唉。10.if(a==b==c)改为if(a==b&&b==c){:soso_e100:}
作者:
EYE_SEE_YOU
时间:
2013-9-2 20:21
为什么三个数相等的时候,就不去判断他们相加的和是不是大于1000了,还有等于1000的情况呢
作者:
高波
时间:
2013-9-2 20:24
你的判断条件有问题“a == b == c”, “==”是比较运算符,返回值是true或false,然后又与Int变量c比较,boolean与int比肯定出错,而且这在编译期就能检测出来的。改一下判断条件就行。
import java.util.*;
public class Excise019{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请依次输入数字");
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();
if (a == b && a == c) {
System.out.println("这三个数相等");
} else {
if (a + b + c > 1000) {
System.out.println("这三个数之和大于1000");
} else {
System.out.println("三个数之和不大于1000");
}
}
}
}
复制代码
作者:
lou413
时间:
2013-9-2 20:24
if(a==b==c)在这里判断条件出错,在Java里a==b比较出来的值是boolean,而boolean值是不能和整数值用==进行比较的,再==后面也只能是boolean。你可以改成a==b&&b==c
作者:
毋须繁华
时间:
2013-9-2 20:26
import java.util.*;
public class Excise019{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请依次输入数字");
int a=in.nextInt();
int b=in.nextInt();
int c=in.nextInt();
if(a==b&&b==c){
System.out.println("这三个数相等");
}else{ if(a+b+c>1000){
System.out.println("这三个数之和大于1000");
}else{
System.out.println("三个数之和不大于1000");}
}
}
}
复制代码
这样会清晰一点,java中没有a==b==c这种写法,一般写为a==b&&b==c
作者:
李锡碧
时间:
2013-9-2 20:32
李锡碧 发表于 2013-9-2 20:13
第十行有错误唉。10.if(a==b==c)改为if(a==b&&b==c)
嗯 知道你是大意 多写写
作者:
裴昊
时间:
2013-9-2 21:52
java语法中不允许出现连等的 ,最好加一个 短路与
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2