关于java中boolean的问题.

代码如下:importjava.util.*;publicclassHelloAccp10{publicstaticvoidmain(String[]args){ints... 代码如下:
import java.util.*;
public class HelloAccp10 {
public static void main(String[] args) {
int score;
int sum=0;
int avg;
boolean wrong=true;
Scanner input=new Scanner(System.in);
System.out.println("输入学生姓名");
String name=input.next();
for(int i=0;i<5;i++){
System.out.print("请输入5门功课中,第"+(i+1)+"门功课的成绩:");
score = input.nextInt();
if(score<0) {
wrong = false;
break;
} sum = sum+score;
}
if(wrong=true) {
avg = sum/5;
System.out.println(name+"的平均分是"+avg);
} else {
System.out.println("抱歉,分数输入错误,请重新登录。");
}

}
}
谁能详细解答下最后一个if else循环中,if(wrong)的具体意思。
if(wrong=true)是我打错了,本身是if(wrong)。问的更直接点,就是if(wrong)跟if(wrong==true)是否是一个意思?if()应该是判断,我这里主要是没看到有判断性的句子,所以觉得有点不理解。
展开
 我来答
一只大桃子呀呀
2011-05-21 · TA获得超过570个赞
知道小有建树答主
回答量:261
采纳率:100%
帮助的人:209万
展开全部
score = input.nextInt();//这里score接收了用户从控制台里输入的一个数,如果用户输入的数小于0的话,就把wrong这个变量赋值false

然后在if else那个判断里,根据这个wrong的值判断是否输入有误。
不知道是你写错了还是程序本来就写错了
if(wrong=true)//语法有错
应该是
if(wrong==true)
或者直接
if(wrong)
追问
对哈,这个是我自己改掉的,原先的是if(wrong),但是如果把程序中所有的true跟false都相互过来,程序在运行的时候,会出现在正确输入了5次的成绩之后,仍然跳到:分数输入错误   这个。难道boolean型有特定的规则?if(wrong)跟if(wrong==true)是不是一样的?
追答
if括号里是一个boolean型
wrong==true这个表达式返回的是一个boolean型
而wrong本身就是一个boolean型
true本身是一个boolean型常量
所以
if(wrong)
if(true)
if(wrong==true)
都是一样的,只不过
if(true)这个无意义
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞就飞燕
2011-05-21 · TA获得超过270个赞
知道答主
回答量:80
采纳率:0%
帮助的人:62.4万
展开全部
在前面的判断中,如果score<0,那么你声明的boolean 变量wrong就变为false。所以在最后只有当wrong=ture,就是score >= 0时 ,才执行后面的运算。 就起到这个作用。
追问
score=0,程序一直运算到下面的if else判断的时候,是如何判断的?if(wrong)到底是个什么情况?是否是有什么默认的格式?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
★TOP峰★
2011-05-21 · TA获得超过258个赞
知道小有建树答主
回答量:119
采纳率:100%
帮助的人:104万
展开全部
应该是if(wrong==true)吧。意思是如果5个成绩都输入正确的话(每个score都大于0),执行计算平均分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovegy521
2011-05-21 · TA获得超过152个赞
知道答主
回答量:152
采纳率:0%
帮助的人:109万
展开全部
import java.util.*;
public class HelloAccp10 {
public static void main(String[] args) {
int score;
int sum=0;
int avg;
boolean wrong=true;
Scanner input=new Scanner(System.in);
System.out.println("输入学生姓名");
String name=input.next();
for(int i=0;i<5;i++){
System.out.print("请输入5门功课中,第"+(i+1)+"门功课的成绩:");
score = input.nextInt();
if(score<0) {
wrong = false;
break;
} sum = sum+score;
}
else if(wrong=true) {
avg = sum/5;
System.out.println(name+"的平均分是"+avg);
}
else {
System.out.println("抱歉,分数输入错误,请重新登录。");
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baiwvfyq
2011-05-21 · TA获得超过148个赞
知道答主
回答量:56
采纳率:0%
帮助的人:21.2万
展开全部
if(wrong=true) 将true赋值给wrong变量,也就是说wrong会永远为true!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式