当前位置: 首页 > 知识库问答 >
问题:

硬币翻转模拟:计数头/尾

陈宏胜
2023-03-14

我是非常新的编程,所以任何建议或指导是非常感谢的。

// this button flips the coin
btnFlip = new JButton("Flip");
btnFlip.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        int headCounter = 0;
        int tails = 0; 
        // this implements the random flip of the coin when the checkbox Run Multiple
        // flips is unchecked
        if (chckbxNewCheckBox.isSelected() == false) {

            Random r = new Random();
            int flipper = r.nextInt(2);
            if (flipper == 1) { 
                lblImages.setIcon(new ImageIcon(FinalPrep.class.getResource("/finalPrep/heads.png")));
                textFieldHeads.setText(String.valueOf(headCounter));

            } else {
                lblImages.setIcon(new ImageIcon(FinalPrep.class.getResource("/finalPrep/tails.png")));
                textFieldTails.setText(String.valueOf(tails));
            }
        }
    }
});
btnFlip.setFont(new Font("Tahoma", Font.PLAIN, 15));
panel_1.add(btnFlip);

共有1个答案

斜和硕
2023-03-14

你必须创建类似2层的东西。一个包含窗口本身和标题的“层”(把它想象成一个受体),然后您必须创建另一个包含按钮和文本字段的“层”。类似于这样:

import javax.swing.*;

public class MyFrame extends JFrame {

    private JPanel panel;
    private JTextField textField;
    private JButton button;

    public MyFrame(){

        panel = new JPanel(); //Step 1. Creation of a receptor

        tfCount = new JTextField(10); //Step 2.
        button = new JButton("Press Me"); //Creation of buttons & textfields.

        panel.add(tfCount); //Step 3.
        panel.add(button); //Add those graphics to the receptor  

        this.setContentPane(panel); //Step 4 Adjust the receptor to the object

        this.setVisible(true);
        this.setSize(400, 400);
        this.setTitle("My 1st GUI!");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
} 

(很抱歉给出了随机的示例,但您没有发布任何代码示例,所以我试图尽可能地解释)

然后,您应该根据生成的数字放置一个“标志”,例如:

    boolean flag = true; //Flag

    int counter = 0; //The counter for the heads

    int x; //The number you received from the generator

    int counter_b; //The counter for the tails

    if(x%2 == 0){ //If the number is even
        flag = false; // You set down the flag
        counter++; //And counter raises its value
    }
    else
        counter_b++;


    tfCount.setEditable(true); //This makes your textfield editable
    tfCount.setText(String.valueOf(counter)); //And this prints the counter's value
 类似资料:
  • 我正试图解决一个经典的动态规划硬币兑换问题。这是一个家庭作业问题,我不是在寻找完整的解决方案,只是想找几个指针看看我做错了什么。 输入: 金额我们想用硬币支付一些价值 集合表示面值(1c、5c、10c、25c、100c、200c)的可用硬币数量 输出: 需要换手支付的最低硬币数。 假设: 收银机操作员有无限的硬币供应,知道如何给最佳的变化。 到目前为止,我试图做的是: 我试图建立一个数组C,使得每

  • 嗨,我正在为java做一个掷硬币模拟器,必须以某种方式完成。它必须有一个字符串让sideup持有由no arg构造函数生成的“heads”或“tails”的字符串,投掷方法必须是void并且它必须有一个getsideup方法,然后我们必须运行硬币投掷20次,并对首和尾的数量进行dipplay...我可以很容易地用无空方法和返回结果,但绕过这个空和getsideup让我抓狂。这是我目前所掌握的。 我

  • 所以我对编码不熟悉,我得到了一个任务,我需要做一个程序,用四分之一、一角、五分和一美分给不到一美元的零钱。然而,作业希望程序打印所需的最低硬币数量(例如,如果我输入58美分,那么输出应该是“2个25美分,1个镍和3个便士”,而不是“2个25美分,0个10美分,1个镍和3个便士”。本质上,如果没有某种硬币,那么程序就不应该打印它)。我一直在想如何制作它,这样程序就不会打印任何不必要的硬币。 这就是我

  • 我正在尝试实现一个小的贪婪算法,在这个算法中,用户输入一定数量的钱(例如:9.25),我们输出的硬币数量最少,我们可以兑换(25美分、10美分、5美分和1美分)。 该算法适用于整数金额,如10或20,以及只需要程序使用25美分硬币的金额。 如果我尝试9.10或9.01这样的数值,就会得到一个运行时错误,即有符号整数溢出。我明白这意味着什么,但我不明白硬币的价值怎么会突然这么高。

  • 问题内容: 我想模拟在CSS 中使用的属性。 根据MDN,这很有可能: 通过首先使用属性的取反值转换元素,然后应用元素的变换,然后通过属性值进行转换,来应用此属性。 但是,当我尝试时,会得到不正确的结果。这两个矩形显然不相同: 我已经尝试了很长时间没有运气寻找答案了,在我看来,这应该是相对简单的,我只是想不通。 问题答案: 您几乎不错,但是有两个错误。您需要反转翻译,并且需要更改第二个翻译的翻译。

  • 具体而言,问题是: 给定面额数组<代码>硬币[],每个硬币的限制数组<代码>限制[]和数量<代码>金额,返回所需的最小硬币数量,以获取<代码>金额,或者如果不可能,返回空值。另外,用溶液中使用的每个硬币的数量填充数组 这是我的解决方案: 但它一般不起作用。 我的问题是,例如,在这种情况下: 最佳解决方案是: 并且我的算法给出作为结果。换句话说,它失败了,每当在某种情况下,我将不得不使用比可能的更少

  • 动态规划变更问题(有限硬币)。我正在尝试创建一个以以下内容作为输入的程序: 输出: 输出应该是大小为1的数组,其中每个单元格代表我们需要改变单元格索引量的最佳硬币数。 假设数组的单元格位于index: 5,内容为2。这意味着为了给出5(INDEX)的变化,您需要2(单元格的内容)硬币(最佳解决方案)。 基本上,我需要这个视频的第一个数组的输出(C[p])。这与有限硬币的大区别是完全相同的问题。链接

  • 我正在解决这个问题-COLCOIN-在spoj上收集硬币。链接-https://www.spoj.com/problems/COLCOIN/ 对于给定的一组面额和你想要的货币,银行会给你最高面额的硬币,直到它不能再给你了,然后转移到下一个最高面额。例如:如果面额为[1,2,3,4,8],如果您要求23卢比,它会先给您两个8卢比的硬币,因为它不能再给任何8卢比的硬币,所以会移动到下一个面额,给您一个