随便写的随机数生成器,目前并没有实现设置精度和去重功能

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javatest;

import java.util.Arrays;
import java.util.Random;

/**
 *
 * @author 17520
 */
public class GameFrame extends javax.swing.JFrame
{

    /**
     * Creates new form GameFrame
     */
    public GameFrame()
    {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents()
    {

        GamePanel = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        ResultPanel = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        ResultArea = new javax.swing.JTextArea();
        ResultArea.setLineWrap(true);
        ResultArea.setWrapStyleWord(true);
        RepeatCheckBox = new javax.swing.JCheckBox();
        AmountSpinner = new javax.swing.JSpinner();
        AmountSpinner.setModel(new javax.swing.SpinnerNumberModel(2, 2, 100, 1));
        MinSpinner = new javax.swing.JSpinner();
        MinSpinner.setModel(new javax.swing.SpinnerNumberModel(1, -1024, 1024,1));
        ExcuteSpinner = new javax.swing.JSpinner();
        ExcuteSpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, 5, 1));
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        MaxSpinner = new javax.swing.JSpinner();
        MaxSpinner.setModel(new javax.swing.SpinnerNumberModel(10, -1024, 1024,1));
        jLabel5 = new javax.swing.JLabel();
        GenButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Yosha's random generator");
        setBackground(new java.awt.Color(28, 27, 32));
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        GamePanel.setBackground(new java.awt.Color(28, 27, 32));
        GamePanel.setForeground(new java.awt.Color(255, 255, 255));
        GamePanel.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        GamePanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel1.setFont(new java.awt.Font("雅黑宋体", 1, 36)); // NOI18N
        jLabel1.setForeground(new java.awt.Color(240, 240, 240));
        jLabel1.setText("随机数生成器");
        GamePanel.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 240, 60));

        ResultPanel.setBackground(new java.awt.Color(41, 40, 45));
        ResultPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "结果序列", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("雅黑宋体", 0, 18), new java.awt.Color(240, 240, 240))); // NOI18N
        ResultPanel.setForeground(new java.awt.Color(255, 255, 255));
        ResultPanel.setAutoscrolls(true);
        ResultPanel.setFont(new java.awt.Font("微软雅黑", 0, 12)); // NOI18N
        ResultPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        ResultArea.setBackground(new java.awt.Color(41, 40, 45));
        ResultArea.setColumns(20);
        ResultArea.setFont(new java.awt.Font("雅黑宋体", 0, 18)); // NOI18N
        ResultArea.setForeground(new java.awt.Color(255, 255, 255));
        ResultArea.setRows(5);
        ResultArea.setCaretColor(new java.awt.Color(240, 240, 240));
        ResultArea.setDisabledTextColor(new java.awt.Color(240, 240, 240));
        jScrollPane1.setViewportView(ResultArea);

        ResultPanel.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 380, 220));

        GamePanel.add(ResultPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 200, 410, 270));

        RepeatCheckBox.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        RepeatCheckBox.setForeground(new java.awt.Color(255, 255, 255));
        RepeatCheckBox.setSelected(true);
        RepeatCheckBox.setText("可重复");
        GamePanel.add(RepeatCheckBox, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 320, -1, -1));

        AmountSpinner.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        AmountSpinner.setToolTipText("产生的个数");
        GamePanel.add(AmountSpinner, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 150, 50, -1));

        MinSpinner.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        MinSpinner.setToolTipText("最小值");
        GamePanel.add(MinSpinner, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 90, 50, -1));

        ExcuteSpinner.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        ExcuteSpinner.setToolTipText("精确到");
        GamePanel.add(ExcuteSpinner, new org.netbeans.lib.awtextra.AbsoluteConstraints(400, 150, 50, -1));

        jLabel2.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        jLabel2.setForeground(new java.awt.Color(240, 240, 240));
        jLabel2.setText("产生个数");
        GamePanel.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 150, 60, 20));

        jLabel3.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        jLabel3.setForeground(new java.awt.Color(240, 240, 240));
        jLabel3.setText("最小值");
        GamePanel.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 90, 50, 20));

        jLabel4.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        jLabel4.setForeground(new java.awt.Color(240, 240, 240));
        jLabel4.setText("小数点后几位");
        GamePanel.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 150, 100, 20));

        MaxSpinner.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        MaxSpinner.setToolTipText("最大值");
        GamePanel.add(MaxSpinner, new org.netbeans.lib.awtextra.AbsoluteConstraints(360, 90, 50, -1));

        jLabel5.setFont(new java.awt.Font("雅黑宋体", 0, 14)); // NOI18N
        jLabel5.setForeground(new java.awt.Color(240, 240, 240));
        jLabel5.setText("最大值");
        GamePanel.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 90, 50, 20));

        GenButton.setBackground(new java.awt.Color(71, 70, 76));
        GenButton.setFont(new java.awt.Font("雅黑宋体", 1, 18)); // NOI18N
        GenButton.setForeground(new java.awt.Color(255, 255, 255));
        GenButton.setText("生成");
        GenButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        GenButton.addMouseListener(new java.awt.event.MouseAdapter()
        {
            public void mouseClicked(java.awt.event.MouseEvent evt)
            {
                GenButtonMouseClicked(evt);
            }
        });
        GenButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                GenButtonActionPerformed(evt);
            }
        });
        GamePanel.add(GenButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 360, -1, 70));

        getContentPane().add(GamePanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 610, 480));

        pack();
    }// </editor-fold>                        

    private void GenButtonActionPerformed(java.awt.event.ActionEvent evt)                                          
    {                                              
        // TODO add your handling code here:
    }                                         

    private void GenButtonMouseClicked(java.awt.event.MouseEvent evt)                                       
    {                                           
        // TODO add your handling code here:
        int max=Integer.valueOf(String.valueOf(MaxSpinner.getValue()));
        int min=Integer.valueOf(String.valueOf(MinSpinner.getValue()));
        int amount=Integer.valueOf(String.valueOf(AmountSpinner.getValue()));
        
        int []result=new int[amount];
        for(int i=0;i<amount;i++)
        {
            Random random=new Random();
            result[i]=random.nextInt(max)%(max-min+1)+min;
        }
        
        ResultArea.setText(Arrays.toString(result));
    }                                      

    /**
     * @param args the command line arguments
     */
    public static void main(String args[])
    {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try
        {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
            {
                if ("Nimbus".equals(info.getName()))
                {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex)
        {
            java.util.logging.Logger.getLogger(GameFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex)
        {
            java.util.logging.Logger.getLogger(GameFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex)
        {
            java.util.logging.Logger.getLogger(GameFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex)
        {
            java.util.logging.Logger.getLogger(GameFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                new GameFrame().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JSpinner AmountSpinner;
    private javax.swing.JSpinner ExcuteSpinner;
    private javax.swing.JPanel GamePanel;
    private javax.swing.JButton GenButton;
    private javax.swing.JSpinner MaxSpinner;
    private javax.swing.JSpinner MinSpinner;
    private javax.swing.JCheckBox RepeatCheckBox;
    private javax.swing.JTextArea ResultArea;
    private javax.swing.JPanel ResultPanel;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration                   
}

  

原文地址:https://www.cnblogs.com/yosha/p/5776039.html