gpt4 book ai didi

java - 这段java代码有什么问题吗? (简单的随机数生成程序)

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:51 26 4
gpt4 key购买 nike

classMain.java

public class classMain
{
public static classCall classCallObject;

public static void main(String[] args)
{
classCallObject = new classCall();
classCallObject.calling();
}
}

classCall.java

import java.awt.CardLayout;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class classCall extends JFrame
{
public JFrame frame;
public JPanel cards;
public CardLayout cardlayout = new CardLayout();
public static classEngine engObject = new classEngine();

public void calling()
{
frame = new JFrame();
frame.setVisible(true);
frame.setLayout(new FlowLayout());
frame.setTitle("Cricket Game 2012");
frame.setSize(1024, 740);
frame.setResizable(false);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
gui guiObject = new gui();
frame.add(guiObject.totalScore);
}
}

gui.java

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class gui extends JFrame
{
public JLabel totalScore;

public gui()
{
classCall.engObject.gameEngine();
totalScore = new JLabel(String.format("Total is %d - %d", classCall.engObject.getTotal(), classCall.engObject.getWickets()));
totalScore.setLayout(new FlowLayout());
}
}

classEngine.java

import java.util.Random;

public class classEngine
{

public int[][] Overs = new int[20][6];
public static int total=0;
public static int wickets=0;

public void gameEngine()
{
for (int over=1; over<Overs.length;over++)
{
for (int ball=1; ball<Overs[over].length; ball++)
{
Overs[over][ball] = batsmanNormalNormal();
total=total + Overs[over][ball];
}
}
}

public int batsmanNormalNormal()
{
int x=0;
int randomNumber = 0;
Random randomObject = new Random();
randomNumber=randomObject.nextInt(100)+1;

if (randomNumber<=1 && randomNumber>=10)
x=4;
else if (randomNumber<=11 && randomNumber>=13)
{
x=0;
wickets++;
}
else if (randomNumber<=14 && randomNumber>=17)
x=1;
else if (randomNumber<=18 && randomNumber>=19)
x=1;
else if (randomNumber<=20 && randomNumber>=30)
x=2;
else if (randomNumber<=31 && randomNumber>=55)
x=1;
else if (randomNumber<=56 && randomNumber>=96)
x=0;
else if (randomNumber<=97 && randomNumber>=98)
x=6;
else if (randomNumber<=99 && randomNumber>=100)
x=3;

return x;

}

public int getTotal()
{
return total;
}

public int getWickets()
{
return wickets;
}
}

我试图创建一个刺激板球比赛的java代码。我知道很多人可能不知道这个游戏。基本上,我想要做的是随机生成数字(加权概率 - 不是完全随机)并将它们添加到称为 Total 的静态 int 中。我想使用 JLabel 显示总计。

但由于某种原因,总数没有更新。上面写着0-0。它应该给出其他结果,例如 140 或 200,因为我已对其进行编码以将随机生成的数字添加到总数中。 120次。

我想我可能遗漏了一些东西。

我认为我的空白大脑无法读取自动取款机的内容,这是显而易见的。有人可以帮我吗?谢谢

最佳答案

确保检查大于和小于符号是否位于正确的位置。

在此程序中,if 和 else if 语句永远不会被执行,因为我在那里设置的条件永远不会为真!

这就是总分未更新的原因。

关于java - 这段java代码有什么问题吗? (简单的随机数生成程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11781995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com