Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 重复生成从0到30的随机数,直到总数达到200或更多_Java_Arrays - Fatal编程技术网

Java 重复生成从0到30的随机数,直到总数达到200或更多

Java 重复生成从0到30的随机数,直到总数达到200或更多,java,arrays,Java,Arrays,该随机程序应: 重复生成从0到30的随机数,直到总数达到200或更多 将每个随机值放入ArrayList编号中,并在一行中打印这些值 设置一个计数器数组事件跟踪每个可能性的事件通过检查数字填充数组 在两列中打印可能的值及其引用 确定并打印句子中最常见的数字 我不确定我是否做得正确,我也不知道如何获得关于如何打印常见事件的引用…请帮助我。。我的代码如下: import java.util.ArrayList; public class Random { public static void m

该随机程序应:

  • 重复生成从0到30的随机数,直到总数达到200或更多
  • 将每个随机值放入ArrayList编号中,并在一行中打印这些值
  • 设置一个计数器数组事件跟踪每个可能性的事件通过检查数字填充数组
  • 在两列中打印可能的值及其引用
  • 确定并打印句子中最常见的数字
我不确定我是否做得正确,我也不知道如何获得关于如何打印常见事件的引用…请帮助我。。我的代码如下:

import java.util.ArrayList;
public class Random {
public static void main(String[] args) {
    // TODO Auto-generated method stub
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    int counter = 0, num;
    int total = 0;
    do{
        num=(int) (Math.random()*30);
        System.out.print(num +" ");
        total+=num;
        numbers.add(num);
        for (int i=0;i<numbers.size();i++){
            if(i==num){
                counter++;
            }       
        }
    }while (total<=200);
    System.out.println();
    System.out.println(" Numbers " +"   "+ "Occurences");
    System.out.println("  "+ num + "         "+ counter);
    }

}
import java.util.ArrayList;
公共类随机{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
ArrayList编号=新的ArrayList();
int计数器=0,num;
int-total=0;
做{
num=(int)(Math.random()*30);
系统输出打印(num+“”);
总数+=num;
数字。添加(num);

对于(int i=0;i首先,在
ArrayList
具体类型上使用
List
界面。其次,在尝试计算出现次数之前,生成整个
列表

List<Integer> numbers = new ArrayList<>();
int total = 0;
do {
    int num = (int) (Math.random() * 30);
    System.out.print(num + " ");
    total += num;
    numbers.add(num);
} while (total <= 200);
System.out.println();
System.out.println("Numbers \t Occurences");
for (int num : numbers) {
    System.out.printf("%5d \t %5d%n", num, numbers.stream()
            .filter(x -> x.equals(num)).count());
}
List number=new ArrayList();
int-total=0;
做{
int num=(int)(Math.random()*30);
系统输出打印(num+“”);
总数+=num;
数字。添加(num);
}而(total x.equals(num)).count();
}

您需要确定完成最后一点的最大计数。

我发布了13行代码,而您发布了18行代码。我的代码更简单。您当然可以用另一个循环替换
stream()
filter()
,但这取决于您。我指的是使用for循环和if-else语句的另一种方法。