어떻게이 오류를 해결할 수 있으며 그 의미는 무엇입니까? 나는이 프로그램을 실행하고 값을 입력 할 때이 오류가java.lang.ArrayIndexOutOfBoundsException 오류
import java.util.Scanner;
import java.util.Random;
public class SortedArray
{
Scanner input = new Scanner(System.in);
int [] Array;
Sort sortedArray;
int sizeOfArray;
public SortedArray()
{
System.out.print("Enter the number of values to put in the array: ");
sizeOfArray = input.nextInt();
Array = new int [sizeOfArray];
System.out.println("");
for(int i = 0; i < sizeOfArray; i++)
{
Random r = new Random();
Array[i] = r.nextInt(100) + 1;
System.out.println(Array[i]);
}
sortedArray = new Sort(Array, sizeOfArray);
sortedArray.display();
}
}
public class Sort
{
int[] array;
int sizeOfArray;
public Sort(int[] oldArray, int sizeOfOldArray)
{
sizeOfArray = sizeOfOldArray;
array = new int [sizeOfArray];
for(int i = 0; i < sizeOfArray; i++)
{
array[i] = oldArray[i];
}
sort();
}
public void display()
{
for (int i = 0; i < sizeOfArray; i++){
System.out.println(array[i]);
}
}
private void sort()
{
for (int i = 0; i < sizeOfArray; i++)
{
for (int j = 0; j < sizeOfArray; i++)
{
if (array[j] < array[i])
{
swap(i,j);
}
}
}
}
private void swap(int x, int y)
{
int temp;
temp = array[x];
array[x] = array[y];
array[y] = temp;
}
}
: 여기
java.lang.ArrayIndexOutOfBoundsException: 5
at Sort.sort(Sort.java:29)
at Sort.<init>(Sort.java:13)
at SortedArray.<init>(SortedArray.java:23)
는 코드입니다. 프로그램은 숫자를 가장 큰 것부터 가장 작은 것 순으로 정렬합니다. 나는 무엇이 잘못되었는지 확신하지 못한다.
는 당신이이다 SSCCE] (http://sscce.org/) 코드를 게시하시기 바랍니다 수 있어야한다
이 라인에? –
그리고 소문자 변수를 써주세요 : int [] Array => int [] array. – AlexWien
Arrays.sort (int [] a) 메서드를 사용하여 배열을 정렬 할 수 있습니다. 여기를보십시오 : http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html#sort (int []) – Reda