gpt4 book ai didi

java - 打印数组中设定值之间的所有数字

转载 作者:行者123 更新时间:2023-12-01 13:08:58 26 4
gpt4 key购买 nike

我想知道如何用随机数打印数组中设定值之间的所有数字。它还应说明有多少用户随机数高于设定值。下面是它的外观示例:

"How many random numbers between 0 – 999 do you want? 12

These are your numbers

998 168 859 32 533 390 339 243 328 164 536 375

these 8 numbers is between 0 – 499

168 32 390 339 243 328 164 375

these 4 numbers is between 500 – 999

998 859 533 536"

这是我到目前为止的代码,我已经设法让它打印最大的数字。

public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print(" How many random numbers between 0 – 999 do you want? ");
int varde = in.nextInt();
System.out.println(" ");
System.out.println(" this is your numbers:");

int randomArray[]=new int[varde];

for(int i = 0; i<varde; i++)
{
randomArray [i] = (int) (Math.random () * 999);
System.out.println(randomArray[i]);
}

int largest = randomArray[0];
for(int x=0; x<randomArray.length; x++){
if(randomArray[x]>largest){
largest = randomArray[x];
}
}

System.out.print("Largest no is: "+largest);
}

最佳答案

给你。

我所做的是添加 java.util.Random 类而不是 Math.random() 来生成随机数。

使用 ArrayList 来分配更多内存(如果需要更多内存)来存储小于或大于 499 的值。

public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print(" How many random numbers between 0 – 999 do you want? ");
int varde = in.nextInt();
System.out.println(" ");
System.out.println(" this is your numbers:");
Random randomGenerator = new Random();

int randomArray[]=new int[varde];

for(int i = 0; i<varde; i++)
{
randomArray[i] = randomGenerator.nextInt(1000);
System.out.print(randomArray[i]);
}

int largest = randomArray[0];
for(int x=0; x<randomArray.length; x++){
if(randomArray[x]>largest)
largest = randomArray[x];
}
System.out.println("Largest no is: "+largest);

List<Integer> numbersGreaterThanHalf = new ArrayList<Integer>();
List<Integer> numbersLowerThanHalf = new ArrayList<Integer>();

for(int x=0; x<randomArray.length; x++){
if(randomArray[x]>499)
numbersGreaterThanHalf.add(randomArray[x]);
else
numbersLowerThanHalf.add(randomArray[x]);
}

System.out.println("these " + numbersLowerThanHalf.length() + "numbers is between 0 – 499");
for(Integer number: numbersLowerThanHalf)
{
System.out.print(number + " ");
}

System.out.println("these " + numbersGreaterThanHalf.length() + "numbers is between 500 – 999");
for(Integer number: numbersGreaterThanHalf)
{
System.out.print(number + " ");
}
}

没有新的数组实现摘录:

  StringBuilder numbersAboveHalf = new StringBuilder();
StringBuilder numberBelowHalf = new StringBuilder();
int countOfNumbersAboveHalf = 0;
int countOfNumbersBelowHalf = 0;

for(int x=0; x<randomArray.length; x++){
if(randomArray[x]>499){
numbersAboveHalf.append(randomArray[x]).append(" ");
++countOfNumbersAboveHalf;
}
else{
numbersBelowHalf.append(randomArray[x]).append(" ");
++countOfNumbersBelowHalf;
}
}
System.out.println("these " + countOfNumbersBelowHalf + "numbers is between 0 – 499");
System.out.println(numbersBelowHalf.toString());
System.out.println("these " + countOfNumbersAboveHalf + "numbers is between 500 – 999");
System.out.println(numbersAboveHalf.toString());

它的作用是迭代数组并且:

  • 计算有多少个数字高于 500,有多少个低于 500。
  • 用数字构建 2 个字符串。

关于java - 打印数组中设定值之间的所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23044000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com