关于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()应该是判断,我这里主要是没看到有判断性的句子,所以觉得有点不理解。 展开
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()应该是判断,我这里主要是没看到有判断性的句子,所以觉得有点不理解。 展开
展开全部
score = input.nextInt();//这里score接收了用户从控制台里输入的一个数,如果用户输入的数小于0的话,就把wrong这个变量赋值false
然后在if else那个判断里,根据这个wrong的值判断是否输入有误。
不知道是你写错了还是程序本来就写错了
if(wrong=true)//语法有错
应该是
if(wrong==true)
或者直接
if(wrong)
然后在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)这个无意义
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在前面的判断中,如果score<0,那么你声明的boolean 变量wrong就变为false。所以在最后只有当wrong=ture,就是score >= 0时 ,才执行后面的运算。 就起到这个作用。
追问
score=0,程序一直运算到下面的if else判断的时候,是如何判断的?if(wrong)到底是个什么情况?是否是有什么默认的格式?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是if(wrong==true)吧。意思是如果5个成绩都输入正确的话(每个score都大于0),执行计算平均分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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("抱歉,分数输入错误,请重新登录。");
}
}
}
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("抱歉,分数输入错误,请重新登录。");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(wrong=true) 将true赋值给wrong变量,也就是说wrong会永远为true!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询