Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向数组列表中添加随机数_Java_Swing_Random_Arraylist_Applet - Fatal编程技术网

Java 向数组列表中添加随机数

Java 向数组列表中添加随机数,java,swing,random,arraylist,applet,Java,Swing,Random,Arraylist,Applet,我必须有一个随机数生成器,从用户那里得到一个数字,然后生成10000个介于1和用户数字之间的随机数,然后计算最小值、最大值和平均值。这是我到目前为止所拥有的。我被困在actionPerformed方法上。我是个彻头彻尾的傻瓜,所以请试着解释你的答案 我的问题 我把JApplet编码了,就是搞不懂执行动作的方法。我在谷歌上下搜索了帮助和本周书附录c中涉及的章节,但他们没有解释如何做我们被要求做的事情。我已经独立完成了班上所有的其他作业,但似乎没有完成这项作业,到目前为止,我已经花了19个小时 如何

我必须有一个随机数生成器,从用户那里得到一个数字,然后生成10000个介于1和用户数字之间的随机数,然后计算最小值、最大值和平均值。这是我到目前为止所拥有的。我被困在actionPerformed方法上。我是个彻头彻尾的傻瓜,所以请试着解释你的答案

我的问题 我把JApplet编码了,就是搞不懂执行动作的方法。我在谷歌上下搜索了帮助和本周书附录c中涉及的章节,但他们没有解释如何做我们被要求做的事情。我已经独立完成了班上所有的其他作业,但似乎没有完成这项作业,到目前为止,我已经花了19个小时

如何将所有数字添加到数组列表中

package randomNums;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import static java.lang.Math.*;

import javax.swing.*;

import java.applet.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Random;

public class RandomNums extends Applet implements ActionListener {
/**
 * 
 */

// PAINT METHOD
public void paint(Graphics g)

{

    Font font = new Font("Arial", Font.BOLD, 18);
    g.setFont(font);
    g.setColor(Color.WHITE);
    g.drawString("Enter A Number", 70, 25);
    resize(350, 350);
    this.setBackground(Color.BLUE);

}

// CREATES OBJECTS
private static final long serialVersionUID = 1L;
TextField text1, text2, text3, text5;
Label label1, label2, label3, label4;
Button button;
Font font = new Font("Arial", Font.BOLD, 11);
private double all;

// INIT METHOD
public void init() {
    setLayout(null);
    repaint();

    // YOUR NUMBER LABEL
    label1 = new Label("Your Number ");
    label1.setBounds(25, 35, 100, 20);
    setFont(font);
    add(label1);

    // YOUR NUMBER ENTRY
    text1 = new TextField(5);
    text1.setBounds(150, 30, 100, 25);
    add(text1);

    // MAXIMUM
    label2 = new Label("The Maximum Number Is: ");
    label2.setBounds(25, 100, 150, 25);
    setFont(font);
    add(label2);

    // MAXIMUM ANSWER
    text2 = new TextField(5);
    text2.setBounds(180, 100, 50, 25);
    add(text2);

    // MINIMUM
    label3 = new Label("The Minimum Number Is: ");
    label3.setBounds(25, 170, 150, 25);
    setFont(font);
    add(label3);

    // MINIMUM ANSWER
    text5 = new TextField(5);
    text5.setBounds(180, 170, 50, 25);
    add(text5);

    // MEAN
    label4 = new Label("The Mean is: ");
    label4.setBounds(25, 135, 150, 25);
    setFont(font);
    add(label4);

    // MEAN ANSWER
    text3 = new TextField(5);
    text3.setBounds(180, 135, 50, 25);
    add(text3);

    // BUTTON
    button = new Button("Enter");
    button.setBounds(90, 70, 100, 20);
    add(button);

    // ACTION LISTENER
    button.addActionListener(this);
  }

public void actionPerformed(ActionEvent ae) {
    Random ran = new Random(10000);
     
    try {
        //NOT SURE HOW TO GET ALL OF THE NUMBERS ADDED TO THE ARRAY LIST
        double[] arrList = ran();
         //THIS  IS NOT WORKING RIGHT ONLY STORING ONE VALUE
         all = ran.nextDouble();
         for (int i = 0; i < arrList.length; i++) {
             System.out.println(arrList[i] + " ");

        
         //THIS IS IN THERE FOR MY TESTING PURPOSES NEED TO TAKE OUT BEFORE SUBMITTING
         System.out.println(arrList);
        
         final double TIMES = (double) 10000;
        final String LIMIT = text1.getText();
        Double.parseDouble(LIMIT);
        
        //FOR LOOP
        for (int x = 1; x < TIMES; ++x);
        
        //SETS TEXT FOR MIN BOX (NOT SURE IF IT IS DOING THE CALCULATIONS   RIGHT)
        text5.setText(ran.nextDouble() + "");
        
        
        
//my comment: another variable after for loop to get mean , fix numbers being saved to an    array so they can be added and divided to get mean,   
    }
    }

    catch (NumberFormatException m) {
        if (getText(text1) == 0)
            JOptionPane.showMessageDialog(this,
                    "Please enter a number between 1-    10,000");
    }

}

private int getText(TextField text12) {
    // TODO Auto-generated method stub
    return 0;
}
}
包随机数;
导入java.awt.*;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入静态java.lang.Math.*;
导入javax.swing.*;
导入java.applet.*;
导入java.util.ArrayList;
导入java.util.Collection;
导入java.util.Random;
公共类RandomNums扩展小程序实现ActionListener{
/**
* 
*/
//油漆方法
公共空间涂料(图g)
{
Font=新字体(“Arial”,Font.BOLD,18);
g、 setFont(字体);
g、 setColor(Color.WHITE);
g、 抽绳(“输入数字”,70、25);
调整大小(350350);
这个.背景(颜色.蓝色);
}
//创建对象
私有静态最终长serialVersionUID=1L;
TextField text1、text2、text3、text5;
标签label1、label2、label3、label4;
按钮;
Font Font=新字体(“Arial”,Font.BOLD,11);
私人双重所有;
//初始方法
公共void init(){
setLayout(空);
重新油漆();
//你的号码标签
label1=新标签(“您的号码”);
标签1.立根(25,35,100,20);
setFont(字体);
添加(标签1);
//您的号码输入
text1=新的TextField(5);
文本1.立根(150,30,100,25);
添加(文本1);
//最大值
label2=新标签(“最大数量为:”);
标签2.立根(2510015025);
setFont(字体);
添加(标签2);
//最大回答
text2=新的TextField(5);
文本2.立根(180、100、50、25);
添加(文本2);
//最低限度
label3=新标签(“最小编号为:”);
标签3.立根(2517015025);
setFont(字体);
添加(标签3);
//最小答案
text5=新的TextField(5);
文本5.立根(180、170、50、25);
添加(文本5);
//卑鄙
label4=新标签(“平均值为:”);
标签4.立根(25,135,150,25);
setFont(字体);
添加(标签4);
//中庸的回答
text3=新的TextField(5);
文本3.立根(180、135、50、25);
添加(文本3);
//钮扣
按钮=新按钮(“输入”);
按钮.立根(90,70,100,20);
添加(按钮);
//动作监听器
addActionListener(这个);
}
已执行的公共无效行动(行动事件ae){
随机随机数=新随机数(10000);
试一试{
//不确定如何将所有数字添加到数组列表中
double[]arrList=ran();
//仅存储一个值是不正确的
all=ran.nextDouble();
for(int i=0;i
要编译该代码,请更改:

double[] arrList = ran();
致:

其他提示
  • 始终复制/粘贴错误和异常输出
  • “我把JApplet编码了…”没有。你发布的是一个基于AWT的
    java.applet.applet
    。Swing等价物是
    javax.Swing.JApplet
    。使用的唯一Swing组件是
    作业窗格
    。关于这个问题:为什么AWT而不是Swing?关于放弃使用AWT组件的许多好理由,请参见上的回答。如果需要支持较旧的基于AWT的API,请参阅
  • 为什么要编写小程序?如果是由于老师的特殊要求,请参考
  • resize(350350)这不是应该在绘制方法中完成的事情,也不是应该在小程序中完成的事情。小程序的大小在HTML中设置
  • javagui可能必须在许多平台上工作,在不同的屏幕分辨率上&使用不同的plaf。因此,它们不利于部件的精确放置。要为健壮的GUI组织组件,请改为使用布局管理器,或者与布局填充和边框一起使用

    Java GUI可能必须在多个平台、不同的屏幕分辨率和不同的PLAF上工作。因此,它们不利于部件的精确放置。要为健壮的GUI组织组件,请使用布局管理器或1,以及布局填充和边框2

    1.
    2.


  • 首先,
    new Random(10000)
    创建种子为
    10000
    的新
    Random
    对象,而不是范围为10000或创建10000个数字的对象。请参阅。重读一遍

    double[]arrList=ran()
    -这不起作用,因为它是
    double[] arrList = new double[10000];
    
    import java.util.ArrayList;
    import java.util.Random;
    import java.util.Scanner;
    
    public class main
    {
    public static void main(String args[])
    {
        Random rand = new Random();
        ArrayList<Integer> array = new ArrayList<Integer>();
        int x ;
        int sum = 0;
        System.out.print("Input a number: ");
        Scanner input = new Scanner(System.in);
        int mean;
        int temp = input.nextInt();
    
        for(int i = 0;i < 10000;i++)
        {
            x = Math.abs(rand.nextInt()%temp)+1;
            System.out.println(x);
            array.add(x); //add random number to array
            sum += x; //compute sum ro calculate mean later;
        }
    
        int min = array.get(0);
        int max = array.get(0);
    
    
        //find min
    
        for(int i = 0; i < array.size();i++)
        {
            if(array.get(i) < min)
            {
                min = array.get(i);
            }
        }
    
        //find max
    
        for(int i = 0; i < array.size();i++)
        {
            if(array.get(i) > max)
            {
                max = array.get(i);
            }
        }
    
        //find mean
        mean = sum/array.size();
    
        //result
        System.out.println("Min is : "+min);
        System.out.println("Max is : "+max);
        System.out.println("Sum is : "+sum);
        System.out.println("Mean is : "+mean);
    }
    }