具有最小值的Java数组
我是Java初学者。我创建了一个类和一个方法,用于返回数组中的最小数。但我不明白为什么它不能很好地工作 下面是代码具有最小值的Java数组,java,Java,我是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;
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));
}
结果是“最小值:0”
我的代码有什么问题?我想这可能会对您有所帮助
public static int minValue(int[] arr) {
int min = Integer.MAX_VALUE;
for(int e : arr) {
if(e < min) {
min = e;
}
}
return min;
}
公共静态int minValue(int[]arr){
int min=整数最大值;
对于(内部e:arr){
如果(e
也改变了这一点
for(int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
for(int i=0;i
好的,让我试试看。
创建一个长度为5索引的整数数组,要求用户输入5个数字,并在用户输入时将这些数字添加到数组arr中。我在for循环中看到了这一点
for(int e : arr) {
e = sc.nextInt();
}
e被分配了用户输入,但它没有将其传递到数组arr中。看起来您需要添加一条语句来将用户输入传递/添加到数组中。您只需更改获取输入的方法,而无需更改其他内容, 我已经添加了一个正确的,你可以使用这个
int i = 0;
for (int e: arr) {
arr[i] = sc.nextInt();
i++;
}
e=sc.nextInt()
您从未将e
添加到数组中。请看以下内容:。您必须使用普通for版本,而不是for each版本来填充阵列谢谢大家。现在,我知道原因了dminValue
方法没有任何错误。如果使用该方法,它将更改索引0I处的原始数组,以用于这样的循环;for(inti=0;我用for保存代码,对于每个循环,只需用arr[e]替换e即可