[英]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.