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());