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