Java 如何使用“创建数组”;";随机整数?
创建两个包含n的Java 如何使用“创建数组”;";随机整数?,java,arrays,random,arraylist,integer,java-8,Java,Arrays,Random,Arraylist,Integer,Java 8,创建两个包含n的整数数组列表元素,其中n 将从用户处获取 因此,基本上,如果用户输入“6”,则需要创建两个包含6个元素的数组。 我该怎么做 这就是我所拥有的。。但它甚至一点也不正确 Scanner input= new Scanner(System.in); System.out.println("please enter a integer 'n' "); int x= input.nextInt(); int[] a = { 1, 4, 9, 16 };
整数数组列表元素,其中n 将从用户处获取
因此,基本上,如果用户输入“6”,则需要创建两个包含6个元素的数组。
我该怎么做
这就是我所拥有的。。但它甚至一点也不正确
Scanner input= new Scanner(System.in);
System.out.println("please enter a integer 'n' ");
int x= input.nextInt();
int[] a = { 1, 4, 9, 16 };
int[] b = { 9, 7, 4, 9, 11 };
然后,您可以根据需要填充值
Scanner input= new Scanner(System.in);
System.out.println("please enter a integer 'n' ");
int x= input.nextInt();
int[] a = new int[x];
int[] b = new int[x];
这基本上是整数数组而不是数组列表
对于数组列表,您需要使用
List<Integer> integerList=new ArrayList<Integer>();
List integerList=new ArrayList();
您可以使用这样的扫描仪从用户处获取输入-
Scanner input= new Scanner(System.in);
System.out.println("Enter the array size: ");
int n = input.nextInt();
public List<Integer> generateRandomArray(int n){
ArrayList<Integer> list = new ArrayList<Integer>(n);
Random random = new Random();
for (int i = 0; i < n; i++)
{
list.add(random.nextInt(1000));
}
return list;
}
现在创建一个函数generateRandomArray(int n)
,如下所示-
Scanner input= new Scanner(System.in);
System.out.println("Enter the array size: ");
int n = input.nextInt();
public List<Integer> generateRandomArray(int n){
ArrayList<Integer> list = new ArrayList<Integer>(n);
Random random = new Random();
for (int i = 0; i < n; i++)
{
list.add(random.nextInt(1000));
}
return list;
}
希望有帮助。首先创建整数数组列表。然后,您可以添加任意数量的整数
ArrayList<Integer> ar = new ArrayList<Integer>();
ar.add(1);
ArrayList ar=new ArrayList();
ar.add(1);
我不会重复别人说过的话,因为这已经足够了,但是理解ArrayList和Arrays之间的区别可能会对您有所帮助
ArrayList动态增长,而数组具有固定大小。您可以按照其他人提供的优秀答案找到如何填充它们。自1.8以来
// Since, as per your question, you're using arrays even though
// you state you want ArrayLists, we will assume you know why you're
// doing so.
int[] a = new int[x];
int[] b = new int[x];
Random random = new Random();
IntUnaryOperator unaryOpInt = (p) -> random.nextInt(maxIntVal);
// populate array a with random numbers
Arrays.setAll(a, unaryOpInt);
// populate array b with random numbers
Arrays.setAll(b, unaryOpInt);
// Since, as per your question, you require ArrayLists, you can
// create ArrayLists from arrays a and b as follows.
// create an ArrayList from array a
ArrayList<Integer> aArrList = new ArrayList<>(IntStream.of(a).boxed().collect(Collectors.toList()));
// create an ArrayList from array b
ArrayList<Integer> bArrList = new ArrayList<>(IntStream.of(b).boxed().collect(Collectors.toList()));
//因为,根据您的问题,您正在使用数组,即使
//如果你说你想要ArrayList,我们假设你知道为什么
//这样做。
int[]a=新的int[x];
int[]b=新的int[x];
随机=新随机();
IntUnaryOperator unaryOpInt=(p)->random.nextInt(maxIntVal);
//用随机数填充数组a
数组.setAll(a,unaryOpInt);
//用随机数填充数组b
数组.setAll(b,unaryOpInt);
//因为,根据您的问题,您需要ArrayList,所以您可以
//从数组a和b创建ArrayList,如下所示。
//从数组a创建ArrayList
ArrayList aArrList=newarraylist(IntStream.of(a).boxed().collect(Collectors.toList());
//从数组b创建一个ArrayList
ArrayList=newArrayList(IntStream.of(b).boxed().collect(Collectors.toList());
话虽如此,我还是保持简单,使用一个循环来初始化为一个随机值,如果我需要ArrayList,我就不用使用数组,反之亦然。为了完整性,因为您可以
从随机数的下一个int生成int流
作为供应商的发电机()->r.nextInt()
将流限制为所需的大小
将其转换为数组
int[]randomIntsArray=IntStream.generate(r::nextInt).limit(size).toArray()
您可以使用(免责声明我是作者):
MockNeat MockNeat=MockNeat.threadLocal();
mockUnitIntUnit=mockNeat.ints().range(01100);
int[]arr1=intUnit.arrayPrimitive(100.val();
整数[]arr2=intUnit.array(100.val();
List list1=intUnit.List(100.val();
List list2=intUnit.List(100.List(100.val));
该库可以很容易地描述生成任意数据的行为,然后重用该“行为”并使用它生成各种结构 如果要从一个间隔生成随机整数数组,以下是选项
// generate 100 random number between 0 to 100
int[] randomIntsArray = IntStream.generate(() -> new Random().nextInt(100)).limit(100).toArray();
//generate 100 random number between 100 to 200
int[] randomIntsArray = IntStream.generate(() -> new Random().nextInt(100) + 100).limit(100).toArray();
您可以使用ThreadLocalRandom
int[]a=IntStream.range(0,n).map(i->ThreadLocalRandom.current().nextInt()).toArray();
首先,您要创建阵列。这些与ArrayList不同。所以你应该仔细阅读ArrayList。接下来,您应该阅读Java中的随机数。接下来,您应该阅读循环。可能重复的I将对这些数组中需要包含的内容进行澄清。@lacraig2他不清楚他想要什么,在他的代码中他有数组,并说他需要数组。要使用流从间隔创建随机整数数组,更好的选择是这样做,例如。这避免了为每个随机数创建一个新的Random
实例,在我看来,这一点更清楚。
// generate 100 random number between 0 to 100
int[] randomIntsArray = IntStream.generate(() -> new Random().nextInt(100)).limit(100).toArray();
//generate 100 random number between 100 to 200
int[] randomIntsArray = IntStream.generate(() -> new Random().nextInt(100) + 100).limit(100).toArray();