java - 编写一个方法来查找 ArrayList 中最大整数的索引时遇到问题

标签 java

我在创建查找最大整数索引的方法时遇到问题。

我尝试过创建很多方法,但最近才知道如何在列表中查找值的索引,但我仍然无法找到最好的方法,更不用说工作方法了。通过索引,我假设它是给定列表中值的位置(如果我错了,请纠正我)。

我当前的代码:

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/

相关文章:

java - 导入两个具有相同类但也具有其他类的包

Java TreeSet 按值对对象进行排序

java - 尝试保存 Iterable 时执行独立工作时出错

java - 你如何在 Windows 上 merge GIT?

javascript - 我正在尝试获取适用于 iOS 的 Chromium,但卡在了 fetch iOS 命令中

java - JNI 调用与常规 Java 调用交错 - 执行顺序是什么?

java - 以大量 nul 字符结尾的 StringBuilder

java - 如何获取在java中创建的日期图片

java - oracle timesten 内存数据库的 JDBC 连接

java - 如何打印或获取在服务器上运行的应用程序的 JRE 版本?