在控制臺輸入一個數,判斷它是否在給定的數組中,代碼如下:
import?java.util.Scanner;
public?class?Caicaikan2?{
public?static?void?main(String[]?args)?{
?int?a[]={123,101,92,68};
?Scanner?s=new?Scanner(System.in);
?System.out.println("請輸入一個數字");
?int?num=s.nextInt();
?boolean?flag=true;
?for?(int?i?=?0;?i?<?a.length;?i++)?{
??if(num==a[i])
??{
???System.out.println("猜對啦!數字為:"+num);
???flag=false;
???break;
??}
?}
?if(flag)
??System.out.println("-_-。sorry!猜錯啦!");
}
}
1、請告訴我,boolean?flag=true在整個代碼中的作用
2、在for循環中,當flag=false時循環結束,輸出“num在數組中”這一結果。那為什么在循環外if(flag)時,flag=true,輸出的卻是“num不在數組中”
1 回答
已采納
HansonQ
TA貢獻223條經驗 獲得超56個贊
這個很好理解,你在上面定義了一個標志,當你輸入的和數組里面存在的才會走到for循環里面的判斷語句。而且當相同的時候for循環會終止此時還會把flag的值變成flase,這樣的話你for循環外面的if語句是不會走的。if語句后面的表達式只有為true的時候才會執行里面的內容。
添加回答
舉報
0/150
提交
取消
