簡體   English   中英

數組中最小的數

[英]Smallest number in array

如何在數組中找到最小的數? 我的代碼的問題是它總是打印出 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);
}
}

因為您創建了固定大小的數組。 因此,當您分配最小時,數組中的所有項目都是 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];
    }
}

您的數組中沒有任何內容。 用有效值填充數組,然后再試一次,看看會發生什么。 在 Java 中, 由 double 組成的數組根據此規范進行初始化,因此您的整個數組當前包含的值為 0.0d。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM