我在创建查找最大整数索引的方法时遇到问题。
我尝试过创建很多方法,但最近才知道如何在列表中查找值的索引,但我仍然无法找到最好的方法,更不用说工作方法了。通过索引,我假设它是给定列表中值的位置(如果我错了,请纠正我)。
我当前的代码:
import java.util.ArrayList;
import java.util.Scanner;
public class FindBiggest2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList<Integer> integerList = new ArrayList<Integer>();
System.out.println("Enter any amount integers (0 to stop): ");
int integer = input.nextInt();
while(integer != 0) {
integerList.add(integer);
integer = input.nextInt();
}
input.close();
if(integerList.size() == 0) {
System.out.println("list is empty");
return;
}
System.out.println("\nThe integers entered are: ");
// displaying ids
for(int i=0; i<integerList.size(); i++)
System.out.print(integerList.get(i)+" ");
System.out.println();
// finding biggest id
int bInt = integerList.get(0); // initializing bid id with first element
for(int i=1; i<integerList.size(); i++)
if(bInt < integerList.get(i))
bInt = integerList.get(i);
System.out.println("The biggest integer in the array is: "+ bInt);
}
}
我当前的输出(示例):
Enter any amount of integers (0 to stop):
1
2
3
4
5
6
0
The integers entered are:
1 2 3 4 5 6
The biggest integer in the array is: 6
这些是我对输出的要求:
程序的输出应该首先显示所有整数,然后 表示其中最大的整数以及最大整数在一维中的索引 数组。
最佳答案
所以你在这个循环中的索引:
int bInt = integerList.get(0); // initializing bid id with first element
for(int i=1; i<integerList.size(); i++) // i = index
if(bInt < integerList.get(i))
bInt = integerList.get(i);
将是我。除了 int bInt 之外,您还需要一个 int maxIntegerIndex 来保存该值,直到 for 循环结束。
我建议您可以随意忽略的一种风格选择是使用花括号来显式声明循环/if 语句中运行的代码。这将防止稍后在代码读取和执行中出现代码应该运行但没有运行的问题。这将为您节省大量时间来追踪看似损坏的代码,而且几乎不需要任何成本。
关于java - 编写一个方法来查找 ArrayList 中最大整数的索引时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56334364/