我寫的陣列,輸出最小值重是為零, 誰能幫我看看,怎麼回事啊?

2013-03-20 10:27 am
package arrayDemo;
import java.util.Scanner;
public class MaxMin {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int score[]=null;
score=new int[3];

int max;
int min;
min=score[0];
max=score[0];
for(int i=0;i<score.length;i++)
{
Scanner scanner=new Scanner(System.in);
System.out.println("請輸入陣列");
int num=scanner.nextInt();
score[i]=num;

if(score[i]>max)
{
max=score[i];
}
if(score[i]<min)
{
min=score[i];
}
}
System.out.println("最大值"+max);
System.out.println("最小值"+min);
}
}
這是輸出結果
請輸入陣列
5
請輸入陣列
6
請輸入陣列
8
最大值8
最小值0
很奇怪為何最小值一直是0.有人能幫我分析啊嗎?

回答 (1)

2013-03-20 6:17 pm
✔ 最佳答案
min=score[0];

你把最小值初值設為0

只要你輸入的是正整數,不管怎麼比

if(score[i])< span="">

都不會為true

當然永遠為0了

改為min=Integer.MAX_VALUE;(整數最大值)

即可<>

2013-03-20 10:21:18 補充:
這行if(score[i])< span="">



if(score[i] < min ) 才對...yahoo顯示錯誤


收錄日期: 2021-04-13 19:23:23
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20130320000010KK00474

檢視 Wayback Machine 備份