Java初学者-在数组中循环
所以这个类应该打印出在main方法(aka 22)下定义的数组中的最大数字,但是当我运行它时,什么也没有发生。我相信这是一个非常愚蠢的问题,但今天是我使用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
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]
。