gpt4 book ai didi

java - 数组中的最小值始终设置为 0

转载 作者:行者123 更新时间:2023-12-02 01:10:37 25 4
gpt4 key购买 nike

我是Java新手,当我想将整数输入到数组中,然后输出最低值和最高值时,即使我不输入0,最低值也始终为0。

import java.util.Scanner;
public class Arrays {

public static void main(String[] args) {

int array[] = new int[10];
int max = array[0], min = array[0];
Scanner input = new Scanner(System.in);

for ( int i=0 ; i<10 ; i++) {
array[i] = input.nextInt();

if(array[i]>max)
max = array[i];

if(array[i]<min)
min = array[i];
}

for ( int i=0 ; i<10 ; i++)
System.out.println(array[i]);

System.out.printf("The lowest number is %d"
+ " and the highest number is %d",min,max);
}

有人可以告诉我我的错误在哪里以及为什么会这样吗?

最佳答案

错误在这里:

int max = array[0], min = array[0];

您将 maxmin 初始化为 0,因为此时数组仅包含 0默认值(因为您还没有为其分配值)。因此,如果所有输入均为正数,min 将保持 0

要解决这个问题,您可能需要首先将所有输入读入数组,然后使用第二个循环来查找最小值和最大值。

另一种替代方法是将 max 初始化为 Integer.MIN_VALUE,将 min 初始化为 Integer.MAX_VALUE

关于java - 数组中的最小值始终设置为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59444309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com