import java.util.Scanner;
import java.util.Random;
public class Project_2 {
public static void main(String[] args) // TODO Auto-generated methodstub
{
int userLength;
Scanner input = new Scanner(System.in);
System.out.print("Enter a length for an Array : ");
userLength = input.nextInt();
while (userLength < 1)
{
System.out.print("Enter a length for an Array : ");
userLength = input.nextInt();
}
int [] arrayFirst = new int [userLength];
System.out.print("The length is: " + arrayFirst.length + "\n");
Random randomInt = new Random();
for (int i = 0; i < arrayFirst.length; i++ )
{
arrayFirst[i] = randomInt.nextInt(100001);
}
}
编写一个首先提示用户输入整数数组的Java程序 长度和“双精度”阵列密度。你会用这些 为下面的实验创建数组的值。也提示 如果用户超出预期范围,则重新输入值: 数组的长度应为正整数和密度 应该是double类型并且在[0.0,1.0]范围内。
编写一个采用整数长度和数组密度的方法 键入double作为参数并返回一个新的类型数组 int表示密集的数组。对于数组中的每个条目,进行比较 随机数在[0.0,1.0]范围内的密度(即0.0 up 到,但不包括,1.0)确定条目是否应该 是0(提示:请参阅java.util.Random类)。如果条目应为0, 只需填充条目即可。如果条目不为零, 用[1,1000000]范围内的随机整数填充它(即1 通过这种方式,指定数组长度为100和 密度为0.25将导致长度为100的阵列打开 平均75%的值等于0。
我对这个问题的第一部分有很好的理解,但我对问题的密度方面完全无能为力。然后我用随机数填充数组只是为了感受一下。但是,当涉及到这个问题的密度方面时,我完全无法理解我应该做些什么。我所知道的是,数组的密度定义为非零元素的数量与该数组中所有元素的总数之比。有什么想法吗?
答案 0 :(得分:1)
我不想为你编写代码,但你基本上需要为数组的每个字段做两件事之一: