首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改和改进java代码

修改和改进java代码
EN

Stack Overflow用户
提问于 2014-12-18 13:44:32
回答 1查看 68关注 0票数 0

到目前为止,我编写的代码如下所示,但是我对它有一些问题: 1)它多次运行程序,2)数字似乎不是很随机,它似乎从相同的数字中挑选出相同的数字,我需要值1显示为Ace,值11显示为Jack,值12显示在Queen,13显示为King

我已经看过我的代码好几次了,我不知道它为什么要做第1点,我不知道是我做的,还是第2点的问题,我知道我需要一个if状态来做第3,但不太确定把它放在哪里。

这个程序的思想是让玩家在电脑上逐行绘制7张卡片(不需要包括套餐),然后输出每张卡,其中1张为ace,11张为jack,12张为皇后,13张为king。

非常感谢你的帮助

代码语言:javascript
复制
import java.math.*;
import java.util.*;

public class CardProj {

public static void main(String[] args) {
    Scanner mykbd = new Scanner(System.in);
    Random rn = new Random();
    {
        for (int i = 0; i < 14; i++) {
            int card1player = 0;
            int card2player = 0;
            int card3player = 0;
            int card4player = 0;
            int card5player = 0;
            int card6player = 0;
            int card7player = 0;
            int card1Computer = 0;
            int card2Computer = 0;
            int card3Computer = 0;
            int card4Computer = 0;
            int card5Computer = 0;
            int card6Computer = 0;
            int card7Computer = 0;


            System.out.println("Player Card 1: " + card1player);
            card1Computer = rn.nextInt(7) + 1;
            System.out.println("Computer Card 1: " + card1Computer);
            System.out.println("");

            card2player = rn.nextInt(7) + 1;
            System.out.println("Player Card 2: " + card2player);
            card2Computer = rn.nextInt(7) + 1;
            System.out.println("Computer Card 2: " + card2Computer);
            System.out.println("");

            card3player = rn.nextInt(7) + 1;
            System.out.println("Player Card 3: " + card3player);
            card3Computer = rn.nextInt(7) + 1;
            System.out.println("Computer Card 3: " + card3Computer);
            System.out.println("");

            card4player = rn.nextInt(7) + 1;
            System.out.println("Player Card 4: " + card4player);
            card4Computer = rn.nextInt(7) + 1;
            System.out.println("Computer Card 4: " + card4Computer);
            System.out.println("");

            card5player = rn.nextInt(7) + 1;
            System.out.println("Player Card 5: " + card5player);
            card5Computer = rn.nextInt(7) + 1;
            System.out.println("Computer Card 5: " + card5Computer);
            System.out.println("");

            card6player = rn.nextInt(7) + 1;
            System.out.println("Player Card 6: " + card6player);
            card6Computer = rn.nextInt(7) + 1;
            System.out.println("Computer Card 6: " + card6Computer);
            System.out.println("");

            card7player = rn.nextInt(7) + 1;
            System.out.println("Player Card 7: " + card7player);
            card7Computer = rn.nextInt(7) + 1;
            System.out.println("Computer Card 7: " + card7Computer);
            System.out.println("");

            int playertotal = card1player + card2player + card3player + card4player + card5player + card6player + card7player;
            int computertotal = card1Computer + card2Computer + card3Computer + card4Computer + card5Computer + card6Computer + card7Computer;

            if (playertotal > computertotal) {
                System.out.print("Player Wins, Players Score is, " + playertotal + " Computers Score is, " + computertotal + " ");
            } else if (computertotal > playertotal) {
                System.out.print("Computer Wins, Computer Score is, " + computertotal + " Players Score is, " + playertotal + " ");
            } else {
                System.out.print("Draw Players Score is, " + playertotal + " Computers Score is, " + computertotal + " ");
            }
        }
    }
}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-18 13:50:11

您可以创建一个cardPlayers和cardComputers数组。例如,尝试下面的方法

代码语言:javascript
复制
 int numPlayers = 14;
 int [] cardPlayer = new int[numPlayers];
 int [] cardComputer = new int[numPlayers];

 for (int i = 0; i < numPlayers; i++) {         
            System.out.println("Player Card " + i + ": " + cardPlayer[i]);
            cardComputer[i] = rn.nextInt(7) + 1;
            System.out.println("Computer Card " + "i" + cardComputer[i]);
            System.out.println("");
}

这将提高代码的可读性,减少代码行数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27548009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档