从用户获取数字(整数)输入并将其插入Java中的数组中

时间:2015-07-27 08:58:06

标签: java arrays

我也想比较最大数字但是我在插入数组时遇到问题 - 它给出了错误:

java.lang.ArrayIndexOutOfBoundsException 

每当我插入一个大于5的值时。

import java.util.Scanner;
public class LargestValue 
{
    public static void main(String[] args) 
    {
        Scanner sc= new Scanner (System.in);
        int a[] = new int[5];

        System.out.println ("Enter 5 numbers for comparison ");

        for (int j = 0; j < a.length; j++)
        {
            int inputNumber = sc.nextInt();
            a[inputNumber] = inputNumber;
            System.out.println(inputNumber);
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您应该将输入分配到数组的第j个位置,而不是Dim dtDate As Date dtDate = Date Dim dtMonth As String Dim dtYear As String Dim dtMonthnumber As String dtMonth = ThisWorkbook.Sheets("Controle").Range("U1") dtYear = ThisWorkbook.Sheets("Controle").Range("U2") dtMonthnumber = ThisWorkbook.Sheets("Controle").Range("U3") Dim strFile As String strFile = "M:\X-tra pakketten\" & dtYear & "\" & dtMonthnumber & " - " & dtMonth & "\" & Format(dtDate, "yymmdd") & ".xlsx" ActiveWorkbook.SaveAs Filename:=strFile, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 位置:

inputNumber

答案 1 :(得分:0)

第一个错误已经是后期a[j] = inputNumber;

要比较数组,您可以使用Arrays.sort(a);

  

Arrays.sort(int):将指定的数组按数字升序排序。

要获得最大值,您可以使用Arrays.stream(a).max().getAsInt();