我是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++;
}
智慧大石
TA贡献1946条经验 获得超3个赞
好的,让我尝试运行它。您创建一个长度为 5 索引的整数数组,向用户询问 5 个数字,然后在用户输入时将这些数字添加到数组 arr 中。我在 for 循环中看到了
for(int e : arr) {
e = sc.nextInt();
}
e 被分配了用户输入,但它没有将其传递到数组 arr 中。看起来您需要添加一条语句来将用户输入传递/添加到数组中。
慕哥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();
}
添加回答
举报
0/150
提交
取消