if……else中為什么不滿足條件不執(zhí)行else的代碼(代碼如下)?
if (score<60){
? ? ? ? for(;score<60;){
? ? ? ? ? ? ? score+=1;
? ? ? ? ? ? ?count+=1;
? ? ? ? ? ? ?}
? ? ? ? }else{
? ? ? ? System.out.println("加分后成績:"+score + "\n" + "共加了"+count+"次");
? ? ? ? ? ? ?}
if (score<60){
? ? ? ? for(;score<60;){
? ? ? ? ? ? ? score+=1;
? ? ? ? ? ? ?count+=1;
? ? ? ? ? ? ?}
? ? ? ? }else{
? ? ? ? System.out.println("加分后成績:"+score + "\n" + "共加了"+count+"次");
? ? ? ? ? ? ?}
2016-07-24
舉報
2016-07-25
你的這行代碼關(guān)鍵在于沒有結(jié)束for循環(huán)語句 ;當(dāng)score無論是小于60幾時,它跳進(jìn)if里面執(zhí)行for并無限循環(huán)下去,無論當(dāng)score為幾時(大于小于等于)它都不會再跳出if再去執(zhí)行else語句了
你可以開個斷點測試一下看我說的對不對
所以你只要再加上一個結(jié)束for循環(huán)語句就能得到你想要的值了 exg:if(score>60) break;
2016-07-29
public class ?Test11
{
public static void main(String[] args)?
{
int score=59;
int count=0;
if (score<60)
{
? ? ? ? for(;score<60;)
{
? ? ? ? ? ? ? score+=1;
? ? ? ? ? ? ?count+=1;
? ? ? ? ? ? ?}
System.out.println("加分后成績:"+score + "\n" + "共加了"+count+"次");
? ? ? ? }
else
{
? ? ? ? System.out.println("加分失敗");
? ? ? ? ? ? ?}
?
}
}
2016-07-25
你看看你定義的score 數(shù)值為多少 ?只有當(dāng)score大于60才會執(zhí)行else ?而且score不能直接定義大于60
2016-07-25
if 余件不滿足的情況下,才會執(zhí)行else語句。所以當(dāng)超過60,就會執(zhí)行else.
2016-07-24
你當(dāng)前的score是多少?如果不小于60應(yīng)該可以執(zhí)行else語句,如果是小于60,則經(jīng)過if語句,再執(zhí)行完for循環(huán)后,就結(jié)束了,你如果想要有輸出,要在if語句里for循環(huán)外,添加System.out.println()語句
2016-07-24
你的score如果是61,就執(zhí)行else了,如果score小于60,它只執(zhí)行if后面的條件,而且score<60這個條件只判斷一次的