数组中最小的数字

时间:2015-11-17 15:33:43

标签: java arrays

如何在数组中找到最小的数字?我的代码的问题是它总是打印出0作为最小的数字。

这是我的代码:

import java.util.Scanner;
public class Exercise1 {
  public static void main (String [] args){
    Scanner kb = new Scanner(System.in);
   System.out.print("Please type the total number of marks: ");
   int SIZE = kb.nextInt();

   double [] marks = new double [SIZE];

    double smallest = marks [0]; 
    for (int i=0;i<SIZE;i++){
        System.out.print("Enter the mark: ");
        marks[i]=kb.nextDouble();

         if(marks[i] < smallest) {
           smallest = marks[i];
   }  

  }
  System.out.println("The lowest number is " + smallest);
}
}

2 个答案:

答案 0 :(得分:0)

因为您创建了固定大小的数组。因此,当您指定最小值时,数组中的所有项都为0,因此它将为0。

您应该将代码更改为:

double smallest;
for (int i = 0; i < SIZE; i++) {
    System.out.print("Enter the mark: ");
    marks[i] = kb.nextDouble();

    if (i == 0) {
        smallest = marks[0];
    }
    if (marks[i] < smallest) {
        smallest = marks[i];
    }
}

答案 1 :(得分:0)

你的数组中没有任何内容。使用有效值填充数组并再次尝试,看看会发生什么。在Java中,arrays consisting of doubles are initialized according to this spec,因此整个数组当前包含0.0d的值。