do-while迴圈是後測試迴圈,表示內容最少執行次數是一次
while、for迴圈是前測試,會先判斷才執行內容,所以內容最少執行次數是零次
package pMagicNum;
public class c001 {
public static void main(String[] a)
{
int p1=0, p2=0, x=0, ans=0, cnt=0;
cnt=1;
p1=fun.InputNum("Enter Magic Lower bound:", "ReEnter!"); /*輸入範圍,下界值*/
p2=fun.InputNum("Enter Magic upper bound:", "ReEnter!"); /*輸入範圍,上界值*/
if(p1>p2){int tmp=0;tmp = p1; p1=p2; p2=tmp;} /*處理使用者輸入相反的情況*/
ans=fun.Rand(p1, p2); /*p1+(int)Math.random()*(p2-p1+1);*/ /*電腦設定答案ans,給予範圍中的亂數,另一個是不用fun的寫法*/
do{
x=fun.InputNum("["+cnt+"time] "+"Enter "+p1+"~"+p2+":", "ReEnter!");
cnt++; /*表示猜了幾次,猜過一次就+1*/
if(x<ans){p1=x+1;}
else if(x>ans) {p2=x-1;}
}while(x!=ans);
System.out.println("Congratulation!!");
}
}