Java初学者-在数组中循环

Java初学者-在数组中循环,java,Java,所以这个类应该打印出在main方法(aka 22)下定义的数组中的最大数字,但是当我运行它时,什么也没有发生。我相信这是一个非常愚蠢的问题,但今天是我使用java的第一天,我已经花了很多时间试图弄明白这一点。谢谢 public class fun { public static void main (String [] args) { int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6}; max

所以这个类应该打印出在main方法(aka 22)下定义的数组中的最大数字,但是当我运行它时,什么也没有发生。我相信这是一个非常愚蠢的问题,但今天是我使用java的第一天,我已经花了很多时间试图弄明白这一点。谢谢

  public class fun {
        public static void main (String [] args) {
        int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
        max(numbers);
        }

        public static int max(int[] m) {
            int length = m.length;
            int counter = 1;
            int currMax = m[0];
            while (counter <= (length - 2)){
                if (m[counter] > currMax){
                currMax = m[counter];
                }
                counter = counter + 1;
            }
            return currMax;
        }
    }
公共课乐趣{
公共静态void main(字符串[]args){
int[]数字=新的int[]{9,2,15,2,22,10,6};
最大值(数字);
}
公共静态整数最大值(整数[]m){
int长度=m长度;
int计数器=1;
int currMax=m[0];
while(计数器最大值){
currMax=m[计数器];
}
计数器=计数器+1;
}
返回电流最大值;
}
}

您的max方法确实返回了max编号,但您没有使用该编号执行任何操作

也许你想打印出最大值

System.out.println(max(numbers));

你的max方法确实返回了max数字,但是你没有用这个数字做任何事情

也许你想打印出最大值

System.out.println(max(numbers));

您必须按中所示打印出号码

System.out.println(max(numbers));
或者,您可以将其分配给int变量,然后对其执行以下操作:

int maxNumber = max(numbers);

您必须按中所示打印出号码

System.out.println(max(numbers));
或者,您可以将其分配给int变量,然后对其执行以下操作:

int maxNumber = max(numbers);

在main方法中,在一个变量中获取max方法的返回值,然后打印它

 public static void main (String [] args) {
    int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
   int val = max(numbers);
   System.out.println(val);
    }

答对了…

在主方法中,从一个变量中的max方法获取返回值,然后打印它

 public static void main (String [] args) {
    int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
   int val = max(numbers);
   System.out.println(val);
    }
  public class fun {
        public static void main (String [] args) {
        int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
        int maxNum = max(numbers); //change this
System.out.println(maxNum);
        }

        public static int max(int[] m) {
            int length = m.length;
            int counter = 1;
            int currMax = m[0];
            while (counter <= (length - 1)){ //change this
                if (m[counter] > currMax){
                currMax = m[counter];
                }
                counter = counter + 1;
            }
            return currMax;
        }
    }
宾果…

公共课乐趣{
  public class fun {
        public static void main (String [] args) {
        int[] numbers = new int[] {9, 2, 15, 2, 22, 10, 6};
        int maxNum = max(numbers); //change this
System.out.println(maxNum);
        }

        public static int max(int[] m) {
            int length = m.length;
            int counter = 1;
            int currMax = m[0];
            while (counter <= (length - 1)){ //change this
                if (m[counter] > currMax){
                currMax = m[counter];
                }
                counter = counter + 1;
            }
            return currMax;
        }
    }
公共静态void main(字符串[]args){ int[]数字=新的int[]{9,2,15,2,22,10,6}; int maxNum=max(numbers);//更改此值 System.out.println(maxNum); } 公共静态整数最大值(整数[]m){ int长度=m长度; int计数器=1; int currMax=m[0]; while(计数器最大值){ currMax=m[计数器]; } 计数器=计数器+1; } 返回电流最大值; } }
公共课乐趣{
公共静态void main(字符串[]args){
int[]数字=新的int[]{9,2,15,2,22,10,6};
int maxNum=max(numbers);//更改此值
System.out.println(maxNum);
}
公共静态整数最大值(整数[]m){
int长度=m长度;
int计数器=1;
int currMax=m[0];
while(计数器最大值){
currMax=m[计数器];
}
计数器=计数器+1;
}
返回电流最大值;
}
}

如果要对整个阵列进行迭代,迭代本身可以正常工作。缺少数组的最后一个索引。因此,它不会再将数组[on_last_index]与currentMax值进行比较

要解决这个简单的问题,您只需更改while循环中的条件

while(counter <= length-1) { ... }

然后数组中的每个值都有自己的索引。例如,如果要获取数组的第一个元素,则只需获取索引0上的数组元素。0,因为它是要拾取的第一个元素=>索引0是数组中第一个元素的第一个索引。现在在您的示例中,您得到了一个大小为7=>的数组,数组中有7个元素。但还记得如何获取数组的元素吗?正确的!你可以通过元素的独立性来获取元素。第一个元素的索引为0,第二个元素的索引为1,…,最后一个元素的索引为6。6因为我们从0开始,所以如果要对数组进行迭代,请始终从0到array.length-1进行迭代。

如果要对整个数组进行迭代,则迭代本身可以正常工作。缺少数组的最后一个索引。因此,它不会再将数组[on_last_index]与currentMax值进行比较

要解决这个简单的问题,您只需更改while循环中的条件

while(counter <= length-1) { ... }

然后数组中的每个值都有自己的索引。例如,如果要获取数组的第一个元素,则只需获取索引0上的数组元素。0,因为它是要拾取的第一个元素=>索引0是数组中第一个元素的第一个索引。现在在您的示例中,您得到了一个大小为7=>的数组,数组中有7个元素。但还记得如何获取数组的元素吗?正确的!你可以通过元素的独立性来获取元素。第一个元素的索引为0,第二个元素的索引为1,…,最后一个元素的索引为6。6因为我们从0开始,所以如果你想对数组进行迭代,那么总是从0到array.length-1。

你在
max
方法中有一个错误-你太快停止了一个数字,实际上忽略了列表上的最后一个数字。它从索引1开始,所以你也忽略了第一个数字。也就是说,你的程序“什么也不做”,因为你没有使用main()中函数的结果。@Gus不,他/她没有漏掉第一个数字,因为
currMax
的初始值是
m[0]
。你在
max
方法中有一个错误-你太快停止了一个数字,实际上忽略了列表上的最后一个数字。它从索引1开始,所以你也忽略了第一个数字。也就是说,您的程序“什么也不做”,因为您没有使用main()中函数的结果。@Gus No,他/她没有遗漏第一个数字,因为
currMax
的初始值是
m[0]