Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在用户输入的数组中找到最小的元素?为什么最小的元素显示为零?_Java_Arrays_Element - Fatal编程技术网

Java 如何在用户输入的数组中找到最小的元素?为什么最小的元素显示为零?

Java 如何在用户输入的数组中找到最小的元素?为什么最小的元素显示为零?,java,arrays,element,Java,Arrays,Element,代码显示总和、平均值和最大元素。它不显示最小的元素,因为输出始终为零。如何显示数组中最小的元素 import java.util.Scanner; public class Average { public static void main (String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter t

代码显示总和、平均值和最大元素。它不显示最小的元素,因为输出始终为零。如何显示数组中最小的元素

import java.util.Scanner;
public class Average {

    public static void main (String[] args) {
        
        Scanner input = new Scanner(System.in);
        
        System.out.println("Enter the number of elements:");
        int length = input.nextInt();
        
        int[] num = new int[length];
        System.out.println("Enter the "+ length +  " array elements:");
        int sum = 0;
         int large,small;
         large =small = num[0]; 
         
         for (int i=0; i<length;i++) {
            num[i] = input.nextInt();
            sum = sum+ num[i];
              }
         
        for (int i=0; i<length; ++i) {
            if (num[i]<small) {
                 small = num[i];
            }
              
             if(num[i]> large) {
                 large = num[i];
            }
             }
        
        double avg = sum/length;
        System.out.println("The sum is "+ sum);
        System.out.println("The average is "+ avg);
        System.out.println("The smallest element is "+ small);
        System.out.println("The largest element is "+ large);
        }
}
import java.util.Scanner;
公共课平均分{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入元素数:”);
int length=input.nextInt();
int[]num=新的int[长度];
System.out.println(“输入“+length+”数组元素:”);
整数和=0;
int大,小;
大=小=数值[0];

对于(inti=0;iYea),它之所以发生是因为默认情况下,字段small等于0

现在让我们一步一步地看看你的if语句

        if (num[i]<small) {
             small = num[i];
        }
if(num[i]
import java.util.Scanner;
班级平均{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入元素数:”);
int length=input.nextInt();
int[]num=新的int[长度];
System.out.println(“输入“+length+”数组元素:”);
整数和=0;
int大,小;
for(int i=0;ilarge){
大=num[i];
}
}
双平均值=总和/长度;
System.out.println(“总和为”+总和);
System.out.println(“平均值为”+avg);
System.out.println(“最小元素为”+小元素);
System.out.println(“最大元素为“+大”);
}
}

如果您使用java 8或更高版本,您可以使用数组的流方法。它简化了使用数组的工作

首先将数组导入为
import java.util.Arrays;

System.out.println("The sum is " + Arrays.stream(num).sum());
System.out.println("The average is " + Arrays.stream(num).average());
System.out.println("The smallest element is " + Arrays.stream(num).min());
System.out.println("The largest element is " + Arrays.stream(num).max());

初始化
large=small=num[0];
应该在用户输入数组的值之后而不是之前完成
       for (int i=0; i<length; ++i) {
            if(i == 0){
                small = num[i];
            }
            if (num[i]<small) {
                small = num[i];
            }

            if(num[i]> large) {
                large = num[i];
            }
        }
System.out.println("The sum is " + Arrays.stream(num).sum());
System.out.println("The average is " + Arrays.stream(num).average());
System.out.println("The smallest element is " + Arrays.stream(num).min());
System.out.println("The largest element is " + Arrays.stream(num).max());