打印数组中设定值之间的所有数字
我想知道如何在具有随机数的数组中的设定值之间打印所有数字。 它还应说明有多少用户随机数高于设定值。 以下是它的外观示例:
"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; xlargest){ 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; ilargest) largest = randomArray[x]; } System.out.println("Largest no is: "+largest); List numbersGreaterThanHalf = new ArrayList (); List numbersLowerThanHalf = new ArrayList (); for(int x=0; x499) 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; x499){ 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个字符串。
- 关闭钩子在Eclipse中不起作用
- 使用java执行带有“sudo”的linux shell命令,而不输入所需的密码
- org.springframework.web.servlet.PageNotFound – 找不到带有URI Spring 3的HTTP请求的映射
- 递归回溯的问题
- 使用Java进行LinkedIn API身份validation
- 为什么EnumSet或EnumMap可能比它们的哈希值更高效?
- CPU周期和内存中线程的粗略“成本”是多少?
- 如何使用在mockito中调用之间更改状态的相同参数来validation相同模拟方法的调用?
- SoapFaultexception:从PHP访问Java Web服务时不支持的媒体类型