0
我遇到問題了解爲什麼我的數組中的最小值返回的結果始終爲0.我檢查了幾個問題,但是因爲同樣的問題而無法使用這些解決方案,因爲我的數組是在一個方法中創建的,我的最小/最大值是用另一種方法計算的。數組的最小值返回爲0
是否有反正我可以保持我的最小/最大值在一個單獨的方法,仍然得到一個非零答案我的最小值?另外,processSalesReport方法中有更多的代碼,但是由於它是無關緊要的,所以我將它遺漏了。提前致謝!
import java.util.Arrays;
import java.util.Scanner;
public class CarSalesReport {
int sum;
int count = 0;
int[] num = new int[1500];
String ans = "";
Scanner userInput = new Scanner(System.in);
public CarSalesReport(Scanner input) {
String regex = "\\d+|done";
System.out.println("Type sales (type \"done\" when finished)");
do{
System.out.print("Sale Number " + (count + 1) + ": ");
ans = userInput.nextLine();
while(!ans.matches(regex)){
System.out.println("Please enter a positive number");
ans = userInput.nextLine();
}
if(!ans.equalsIgnoreCase("done")){
int ans1 = Integer.parseInt(ans);
num[count] = ans1;
count++;
}
}while(!ans.equalsIgnoreCase("done"));
}
public void processSalesReport(){
int max = num[0];
for(int a=0;a<num.length;a++){
if(max<num[a]){
max=num[a];
}
}
//This is where I'm having my problems.
int min = Integer.MAX_VALUE;
for(int a=1;a<num.length;a++){
if(min>num[a]){
min=num[a];
}
}
Arrays.sort(num);
System.out.println("\nMaximum sale: $" + max);
System.out.println("\nMinimum sale: $" + min);
}
}
你在等什麼? – bwegs
如果您使用調試器逐步執行此代碼,您將立即看到發生了什麼。學習使用調試器是學習成爲程序員的重要組成部分。 –
我期待min是用戶輸入的最小號碼。如果用戶寫入0,則只能爲0. 並且感謝David W!上週我剛剛開始學習Java,而我甚至沒有考慮過調試器。我一定會考慮這一點。我很驚訝我的導師還沒有提出它。 – SeverelyConfused