有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

我当前的代码:

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

以下是我对输出的要求:

程序的输出应首先显示所有整数,然后 指出其中的最大整数,以及1D中最大整数的索引 数组


共 (2) 个答案

  1. # 1 楼答案

    I am having problems in creating a method that will find the index of the biggest integer.

    与存储最大值的方式相同,也将“i”的值存储在单独的变量中:

    // finding biggest id AND the index where it was found
    int index = 0;
    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);
            index = i;
        }
    }
    System.out.println("The biggest integer in the array is: "+ bInt);
    System.out.println("It was found at Index: "+ index);
    
  2. # 2 楼答案

    因此,您在这个循环中的索引:

    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);
    

    将是i。与int bInt一起,您需要一个int maxIntegerIndex来保存该值,直到for循环结束

    我建议您可以随意忽略的一种风格选择是使用大括号显式声明循环/if语句中运行的代码。这将防止以后在代码读取和执行过程中出现问题,因为代码似乎应该运行,但没有运行。这将为您节省大量时间,在跟踪过程中跟踪看似已崩溃的代码,而且几乎不需要任何成本