在JAVA中 do...while 循環

   最近在java學習中本人遇到啦一個讓人困難、頭疼的問題,那就是  do....while  循環結構。

    這是我遇到的一道題:

       用戶循環輸入4位會員號,判斷是否中獎,輸入n結束操作。

   程序開始時生成一個0-9的隨機數字,當用戶會員號的百位與十位的差值與隨機數字相等時爲中獎。

  我先來說一下我第一眼看到這個題的思路吧

   首先,要輸入一個四位數,既然這樣就要導入一下工具包:Scanner input=new Scanner(System.in);

   接着要考慮到百位和十位,int baiwei=(a/100)%10; int shiwei=(a/10)%100;

    這是我這個小白寫的,大神就別嘲笑啦。

   這時要考慮百位與十位之間的差:int cha=baiwei-shiwei;

   然後要對比一下這個cha與隨機產生的隨機數(int random=(int)(Math.random()*10);)是否相等,若相等即爲中獎,不等則不中獎。

   這時候就到啦關鍵的時候 do...while 循環啦。

   一開始我將do的位置放錯啦,結果出來的全是死循環,程序沒有辦法正常運行,然而本人的辦法只有一個,

    那就是平心靜氣,我在慢慢的摸索中找對啦do的位置,然後程序就如預算一樣成功運行。

    本人的理解就是,在  do....while  循環中最重要的是找對循環的位置,這樣才能讓程序正常運行。

    下面就是本人對這次作業的一個答案,希望大神能給予指教。

     import java.util.Scanner;
public class Kehou2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String shuru;
do{
System.out.println("請您輸入一個四位數");
int a=input.nextInt();
int baiwei=(a/100)%10;
int shiwei=(a/10)%100;
int cha=baiwei-shiwei;
int random=(int)(Math.random()*10); 

if(cha==random){
System.out.println("恭喜您中獎啦");
}else{
System.out.println("抱歉您未中獎");
}
System.out.println("請問您還要繼續輸入嗎?  yes/no");
shuru=input.next();
}while(shuru.equals("yes"));
if(shuru.equals("no")){
System.out.println("祝您下次中獎");

}

     本篇博文只爲作者本人原創。

     

   

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章