java - 随机生成的数组无法正确打印小值
问题描述
我的代码不起作用,因为它总是将小值打印为 0。在此先感谢您的帮助。
public class Tests {
public static void main(String [] args){
int [] num=new int[10];
Random random= new Random();
//1st time both big and small value will be at 0
int big=num[0];
int small=num[0];
for(int i=0;i<num.length;i++){
num[i]=random.nextInt(10);
System.out.print(num[i] +" ");
if(num[i]>big){
big=num[i];
}
if(num[i]<small){
small=num[i];
}
}
System.out.println();
System.out.println("Big " + big);
System.out.println("Small " + small);
}
}
请参阅下面的问题:良好的结果:
5 1 1 3 8 3 5 1 1 0 大 8 小 0
坏结果:6 8 8 1 7 5 2 6 8 4 大 8 小 0
解决方案
当您启动 int 数组int [] num=new int[10];
时,它分配zero(0)
给所有索引。
所以,当你让它int small=num[0];
包含零(0)
因此,无论值是什么,后面的块总是比较small
为零(0)。所以,不要改变small
变量!
if(num[i]<small){
small=num[i];
}
分配然后一切都会奏效int small=Integer.MAX_VALUE;
!int big=Integer.MIN_VALUE;
推荐阅读
- django - 在 iframe 中购物
- android - 如何在 Compose 中使用密封类正确建模 UI 状态?
- sql - 累积计数返回比预期更多的行
- tensorflow - Jupyter - 笔记本 ModuleNotFoundError:没有名为“object_detection”的模块
- html - 试图将元素的边框设置为白色以隐藏另一个元素的边框
- airflow - Airflow DAG 中的 `schedule_interval=None` 和 `start_date=airflow.utils.dates.days_ago(n)` 的含义?
- python - 逗号分隔的 ids 字符串映射到 python Pandas 中的值
- assembly - 汇编中变量的旧值在哪里?
- laravel - 我如何在 laravel 中建立深层关系?
- java - 有没有办法在输出的末尾添加一个换行符?