java数组返回min

use*_*779 0 java

嗨,我正在编写这个数组,以便读取30个整数并读出最小值和最大值.我已经解决了最大值,但最小值不起作用,所有帮助都表示赞赏,如上所述,我已经解决了最大值,但最小值不起作用

import java.io.*;
import java.util.*;

public class Uppgift1
{
public static void main(String args[])throws IOException
{
BufferedReader stdin = new BufferedReader
        (new InputStreamReader (System.in));

        int antal = 0; 
        int summa = 0;
        double medel = 0;
        int min;
        int max = 0;
                System.out.print("Hur manga tal vill du mata in(max 30)? ");
                antal = Integer.parseInt(stdin.readLine());

        int [] array = new int[antal];

        for(int i = 0; i<antal; i++){
        array[i] = Integer.parseInt(stdin.readLine());
        summa = summa +array[i];
        medel = summa / antal; 


        }
                System.out.println("summan av talen är "+summa);
                System.out.println("medel av alla tal är "+medel);

        for (int i = 0; i < antal; i++) 
      {
        while(array[i]>max)
            { 
        max=array[i];
          }
            } 


            System.out.println("max numret är " + max);


        for (int i = 0; i < antal; i++) 
            {
                while(array[i]<min)
                    { 
                        min=array[i];
                    }
            } 


            System.out.println("min numret är " + min);





}}
Run Code Online (Sandbox Code Playgroud)

das*_*ght 5

所述min关闭在零开始,因此它比比较用户输入的任何正数低.

通常,在进入循环之前,从最小高点和最低点开始.这会牺牲可用范围内的两个数字,通常可以.或者,你可以同时设置minmax该序列的初始元素.

另一个问题是你使用while而不是if:它不会伤害结果,但它确实会损害可读性.

最后,你可以搜索都minmax在同一回路.