为了账号安全,请及时绑定邮箱和手机立即绑定

带有 minValue 的 Java 数组

带有 minValue 的 Java 数组

翻过高山走不出你 2021-11-24 15:03:10
我是Java初学者。我创建了一个类和一个方法,用于返回数组中的最小数字。但我不明白为什么它不能正常工作。下面是代码。package array;import java.util.Scanner;class Value {    public static int minValue(int[] arr) {        for(int e : arr) {            if(arr[0] > e) {                arr[0] = e;            }        }        return arr[0];    }}public class ArrayTest {public static void main(String[] args) {    int[] arr = new int[5];    System.out.print("Input Number : ");    Scanner sc = new Scanner(System.in);    for(int e : arr) {        e = sc.nextInt();    }    System.out.println("min : " + Value.minValue(arr));}结果是 "min : 0 " 我的代码有什么问题???
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

你只需要改变输入的方法,我已经添加了一个你可以使用它的正确方法。


  int i = 0;

  for (int e: arr) {

  arr[i] = sc.nextInt();

  i++;

  }


查看完整回答
反对 回复 2021-11-24
?
智慧大石

TA贡献1946条经验 获得超3个赞

好的,让我尝试运行它。您创建一个长度为 5 索引的整数数组,向用户询问 5 个数字,然后在用户输入时将这些数字添加到数组 arr 中。我在 for 循环中看到了


for(int e : arr) {

    e = sc.nextInt();

}

e 被分配了用户输入,但它没有将其传递到数组 arr 中。看起来您需要添加一条语句来将用户输入传递/添加到数组中。


查看完整回答
反对 回复 2021-11-24
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

我想这可能对你有帮助


    public static int minValue(int[] arr) {

        int min = Integer.MAX_VALUE;

        for(int e : arr) {

            if(e < min) {

                min = e;

            }

        }

        return min;

    }

也改变这个


 for(int i = 0; i < arr.length; i++) {

    arr[i] = sc.nextInt();

 }


查看完整回答
反对 回复 2021-11-24
  • 3 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信