2016-11-03 136 views
-7

嗨,大家好我正在写一个程序来做下面的事情。我无法弄清楚如何编写它。我只知道如何产生随机整数,但除此之外我完全失去了。如果你们帮助我,我会爱上它! 程序创建一个大小为10的数组,然后用1和100之间的随机整数填充它。然后程序输出数组中的最大和最小整数。如何在随机整数数组中找到最小和最大的元素?

这是我到目前为止有:

public class LargestSmallest 
{ 
    public static void main (String [] args) 
    { 
     int [] number = new int [2]; 
     System.out.println ("The random numbers generated are: "); 
     for (int count =0; count < number.length ; count++) 
     { 
      number[count] = (int)(Math.random()*100+1); 
      System.out.println (number[count]); 
     } 
    } 
} 
+0

发现和输出的最小和最大数字。 –

+0

很好很抱歉,这只是为了我更快地运行它。 –

+2

你试图做的代码在哪里? – ChiefTwoPencils

回答

2

在代码的开始,宣告了几个变量来跟踪你的最小值和最大值。设置一个跟踪最小值的值,该值高于您将生成的任何值(以便第一次检查时,它将保证更新),并将跟踪的最大值保持为小于你会产生任何价值。

int min = Integer.MAX_VALUE; 
int max = Integer.MIN_VALUE; 

当您生成随机数字时,请快速比较并更新新数字。

if (number[count] < min) 
    min = number[count]; 
if (number[count] > max) 
    max = number[count]; 

或者,如果你需要生成的数字,然后找到最小值和最大值,写一个简单的循环来遍历数组迭代并做同样的事情。

for (int i = 0; i < number.length; i++) { 
    /* Comparison and storage code here */ 
} 
+0

感谢您的时间伴侣,但是老师并没有涵盖“整数”。 –

+0

您不必使用Integer类,值必须大于和小于您使用代码生成的任何数字。 –

+0

或者实际上,只需使用我建议的for循环(如果您还没有看到它,那么只需添加一个像2分钟前的编辑),并将min和max的初始值设置为数组的第一个元素。为什么第一个元素是 –

-1

这应该为你的随机函数工作:

public static void main(String[] args) 
{ 
    int[] number = new int[100]; 
    System.out.println("The random numbers generated are: "); 
    for (int count = 0; count < number.length; count++) 
    { 
     number[count] = (int) (Math.random() * 100 + 1); 
     System.out.println(number[count]); 
    } 
    int min = 101; 
    int max = 0; 

    for (int i = 0; i < number.length; i++) 
    { 
     if (number[i] < min) 
     { 
      min = number[i]; 
     } 
     if (number[i] > max) 
     { 
      max = number[i]; 
     } 
    } 
    System.out.println("Max:" + max); 
    System.out.println("Min:" + min); 
} 
相关问题