在没有任何导入的情况下使用java中的数组的最小最大值

时间:2014-07-12 16:27:25

标签: java arrays

class test3
{
    public static void main(String[] z)
    {
        int a[]={123456789};    
        for(int i=0;i<=a.length;i++)
        {
            System.out.println("hello");
            if(a[i]<=a[i])             //is this a right way
               System.out.println("min"+a[i]);
            if(a[i]>=a[i-1])           //is this a right way
               System.out.println("max="+a[i]);
            else
               System.out.println("error");
            }
         }
     }

在主题&#34; main&#34;中得到以下异常

java.lang.arrayindexoutofbound exception -1 at test3.main(test3.java:9)

3 个答案:

答案 0 :(得分:2)

坦率地说,你的代码有很多问题,但是如果我理解你的目标,你需要像

这样的东西
int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // <-- declare an array.
int min = a[a.length - 1];               // <-- set an initial min.
int max = a[0];                          // <-- set an initial max.
if (min > max) {                         // <-- check if they're reversed,
  min = a[0];                            //     if so swap them.
  max = a[a.length - 1];
}
for (int i = 1; i < a.length - 1; i++) { // <-- loop
  if (a[i] < min)                        // <-- is a[i] less then min,
    min = a[i];                          //     if so update min.
  if (a[i] > max)                        // <-- is a[i] greater then max,
    max = a[i];                          //     if so update max.
}
System.out.printf("min = %d, max = %d%n", min, max);

答案 1 :(得分:0)

使用以下方法查找最大值和最小值。

对于MAX:

public static int getMaxValue(int[] numbers){
  int maxValue = numbers[0];
  for(int i=1;i < numbers.length;i++){
    if(numbers[i] > maxValue){
      maxValue = numbers[i];
    }
  }
  return maxValue;
}

对于MIN:

public static int getMinValue(int[] numbers){
  int minValue = numbers[0];
  for(int i=1;i<numbers.length;i++){
    if(numbers[i] < minValue){
      minValue = numbers[i];
    }
  }
  return minValue;
}

答案 2 :(得分:0)

public static void main(String[] z)
    {
        int a[]={1,2,3,4,5,6,7,8,9};//first error initialize the array like this
        int min =0;
        int max =0;
        min = a[0];//1
        for(int i=1;i<a.length;i++)//2
        {
            if(a[i]<min)
            {
                min =a[i];
            }
        }
        System.out.println("min "+min);
        max = a[0];//3
        for(int i=1;i<a.length;i++)//4
        {
            if(a[i]>max)
            {
                max =a[i];
            }
        }
        System.out.println("max : "+max);
    }

1.将变量min初始化为数组在[0]

中包含的值

2.迭代数组并检查数组是否包含较少的值,然后初始化,如果是,则将该值分配给min,最后显示min

3.将变量max初始化为数组在[0]

中包含的值

4.迭代数组并检查数组是否包含更大的值然后初始化如果是,则将该值分配给max并最终显示max