程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-大神求解,輸出平局的繼續比較,知道得出輸贏為止

java-大神求解,輸出平局的繼續比較,知道得出輸贏為止

編輯:編程綜合問答
大神求解,輸出平局的繼續比較,知道得出輸贏為止

package game;
import java.util.Scanner;
/*

  • 實現功能:玩家在自己選擇出石頭,剪刀或布,電腦隨機給出一個選擇並輸出提示,然後比較輸贏3
    */
    public class shitoujiandaobu {
    public static void main(String[] args) {
    shitoujiandaobu hello=new shitoujiandaobu();
    Scanner input =new Scanner(System.in);
    System.out.println("請玩家輸入:0,1或2;0=剪刀,1=石頭,2=布");
    int player =input.nextInt();
    int computer;
    if(player==0){
    System.out.println("您選擇的是剪刀");
    }
    else if(player==1){
    System.out.println("您選擇的是石頭");
    }
    else if(player==2){
    System.out.println("您選擇的是布");
    }
    else{
    System.out.println("輸入有誤,請您重入0,1或2;0=剪刀,1=石頭,2=布;");
    }
    computer=(int)(Math.random()*3);
    if(player==0){
    System.out.println("電腦選擇的是剪刀");
    }
    else if(computer==1){
    System.out.println("電腦選擇的是石頭");
    }
    else if(computer==2){
    System.out.println("電腦選擇的是布");
    }
    hello.compare(player, computer);

    }
    public void compare(int a,int b)
    {

    if(a==b)
    {
    System.out.println("我們平了");
    }
    else if(a==0&&b==2||a==1&&b==0||a==2&b==1){
    System.out.println("你贏了");
    }
    else{
    System.out.println("你輸了");
    }
    }
    }

最佳回答:


手頭沒有eclipse做測試,我就說說發現的問題,首先沒有重復的輸入,假如輸入的數字不是0~2之間的一個那麼你的程序只是提示請重新輸入,
沒有一個循環控制到再次輸入. 其次就是判斷的部分,如果這是你直接粘過來的,那麼按照比較順序從前往後的優先級, 而且最後 a == 2 & b == 1 可能是 打錯
了把,這裡變成 與 運算了. 建議把 每一對 條件用括號括起來 判斷. 其次判斷出平局依舊沒有返回到重新輸入的代碼.

大體上可以while循環控制,如果輸入不合法, 或者比較平局 就再次進入本循環重新輸入, 出現結果了就break跳出.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved