버블 정렬 클래스를 호출 할 때 실수가 있습니다. 그러나 나는 그것을 발견 할 수 없다. 이 확인을해야 내 거품 정렬 클래스입니다 :사용자 입력이있는 버블 정렬 = 오류
The method Sort2(double[]) in the type sort.java is not applicable for the arguments (int)
System.out.println("Size");
int yourNumbers = scan.nextInt();
double[] array = new double[yourNumbers];
System.out.println("Numbers");
for(int i = 0; i < array.length; i++) {
System.out.println(array[i]);
array[i] = scan.nextDouble();
}
Sort2(array);
:
public static void Sort2(double[] yourNumbers) {
double swap;
for(int i = 0; i < yourNumbers.length-1; i++){
for(int d = 0; d < yourNumbers.length-1; d++){
if(yourNumbers[d] > yourNumbers[d+1]){
//swap feature
swap = yourNumbers[d];
yourNumbers[d] = yourNumbers[d+1];
yourNumbers[d+1] = swap;
}
}
}
}
이 내 주요 방법이다 (여기에 내가 오류를받은 Sort2
메서드를 호출 할 때 여기 몇 번이나 질문을 받았지만 제대로 할 수 없다고 생각합니다. 추 신 : ArrayList
을 사용할 수 없습니다.
편집 :이 코드는 지금 사용됩니다. 스타일이 작동하지 않습니다 : 편집 2 :이 도움으로 http://www.leepoint.net/notes-java/data/arrays/70sorting.html 알았습니다. 한 줄은 오류가 당신이 argument
로 double[]
을 받아들이는 방법에 int
를 통과하지 못할 것을 말한다 모두에게
import java.util.Scanner;
public class Bublesort{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Size");
int yourNumbers = scan.nextInt();
double[] array = new double[yourNumbers];
System.out.println("Numbers");
for(int i = 0; i < array.length; i++) {
System.out.println(array[i]);
array[i] = scan.nextDouble();
}
Sort2(array);
**System.out.println(Arrays.toString(array));**
}
public static void Sort2(double[] yourNumbers) {
double swap;
for(int i = 0; i < yourNumbers.length - 1; i++){
for(int d = i + 1; d < yourNumbers.length; d++){
if(yourNumbers[i] > yourNumbers[d]){
//swap feature
swap = yourNumbers[i];
yourNumbers[i] = yourNumbers[d];
yourNumbers[d] = swap;
}
}
}
}}
? 나는 당신의'main()'메소드에서 호출되는 것을 보지 못했다. – Bernard
Sort2 (yourNumbers) 대신 Sort2 (배열)를 호출하십시오. –
예, Sort2 메소드를 추가했습니다. – johnmalc