<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                猜拳是由石頭、剪刀、布組成,可以選擇你的對手是誰,這里設定了3個對手(總裁、副總、總監),然后選擇你的出拳,通過使用數字1、2、3來分別代表著3種狀態。然后我們還需要加上計分的功能。這里我們建立4個類,人、機、主方法、測試類。 當然啦,我們都知道人類和機類的基本方法都差不多,因為我們要獲取到鍵盤的輸入內容,所以我們要使用這個Scanner ,這個在util包下面,我們直接導入就可以了。這里直接貼出的代碼: ~~~ import java.util.Scanner; public class Person{ private String name; private int score; public Person(){ name="sdksdk0"; score=0; } public Person(String n){ name=n; score=0; } public int showFist(){ Scanner input=new Scanner(System.in); System.out.println("\n請出拳:1 剪刀 2 石頭 3 布(輸入相應數字):"); int show=input.nextInt(); switch(show){ case 1: System.out.println("你出拳:剪刀"); break; case 2: System.out.println("你出拳:石頭"); break; case 3: System.out.println("你出拳:布"); break; } return show; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public int getScore(){ return score; } public void setScore(int score){ this.score=score; } } ~~~ 機類的話,自然需要一個隨機數了,這樣才可以隨機比較。 ~~~ import java.util.Random; public class Android{ private String name; private int score; public Android(String n){ name=n; score=0; } public Android(){ name="Android"; score=0; } public int showFist(){ Random r=new Random(); int show=r.nextInt(3)+1; switch(show){ case 1: System.out.println("你出拳:剪刀"); break; case 2: System.out.println("你出拳:石頭"); break; case 3: System.out.println("你出拳:布"); break; } return show; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public int getScore(){ return score; } public void setScore(int score){ this.score=score; } } ~~~ 下面最重要的是我們的主方法類了。 我們需要來定義人、機、計分方法。 private Person person; private Android android; private int count; 功能初始化 public void initial(){ person=new Person(); android=new Android(); count=0; } 定義顯示結果: ~~~ if(result==1){ System.out.println("結果:平分秋色"); } else if(result==2){ System.out.println("結果:"+person.getName()+"你贏了"); } else if(result==3){ System.out.println("結果:"+person.getName()+"你輸了"+android.getName()+"贏了"); } ~~~ 在這幾種情況下是玩家贏了: ~~~ 1?剪刀?2?石頭??3??布?? ~~~ 用戶1對機器3,用戶2對機器1,用戶3對機器2. 如果用戶輸入的和機器產生的一樣就是平局了,其余情況就是機器贏了。 至于計算分數的話就這樣就可以了android.setScore(android.getScore()+1); 完整代碼如下: ~~~ import java.util.Scanner; public class Referee{ private Person person; private Android android; private int count; //初始化功能 public void initial(){ person=new Person(); android=new Android(); count=0; } //計算 總分 public int calcResult(){ if(person.getScore()==android.getScore()){ return 1; } else if(person.getScore()>android.getScore()){ return 2; } else{ return 3; } } //顯示總結果 public void showResult(){ System.out.println("======================"); System.out.println(person.getName()+"VS"+android.getName()); System.out.println("總對戰次數:"+count); int result=calcResult(); if(result==1){ System.out.println("結果:平分秋色"); } else if(result==2){ System.out.println("結果:"+person.getName()+"你贏了"); } else if(result==3){ System.out.println("結果:"+person.getName()+"你輸了"+android.getName()+"贏了"); } System.out.println("======================"); } public void startGame(){ System.out.println("======================"); System.out.println("\n\t************************"); System.out.println("請選擇你的對手 1 總裁 2 副總 3 總監"); Scanner input=new Scanner(System.in); int role=input.nextInt(); switch(role){ case 1: android.setName("總裁"); break; case 2: android.setName("副總"); break; case 3: android.setName("總監"); break; } System.out.println("\n要開始嗎?[Y/N]"); String con=input.next(); int perFist; int androidFist; while(con.equals("Y")){ // perFist = person.showFist(); perFist=person.showFist(); androidFist=android.showFist(); if(perFist==androidFist){ System.out.println("結果:平局"); } else if((perFist==1&&androidFist==3) ||(perFist==2&&androidFist==1) ||(perFist==3&&androidFist==2)){ System.out.println("結果:"+person.getName()+"贏了!"); person.setScore(person.getScore()+1); } else{ System.out.println("結果:"+person.getName()+"輸了"); android.setScore(android.getScore()+1); } count++; System.out.print("\n是否開始下一輪(Y/N)"); con=input.next(); } showResult(); } } ~~~ 最后,我們只需要一個測試類就可以了 ~~~ public class StartGame{ public static void main(String[] args){ Referee r=new Referee(); r.initial(); r.startGame(); } } ~~~ 當然咯,如果你想要把測試類都寫在一起也是可以正常編譯出來的,不過不建議這樣做,這樣的話對代碼的重構性就不好了。使用命令javac StartGame.java進行編譯,然后 java StartGame 運行。 ![](https://box.kancloud.cn/2016-03-14_56e65d708117d.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看