2016-12-11 3 views
0

내 코드에 버블 정렬 알고리즘을 구현하여 출력을 오름차순으로 표시하려고합니다. JGrasp에서받은 오류 다음에 아래 코드가 있습니다. 조언이나 조언을 주시면 감사하겠습니다. 내가받을자바 버블 정렬 알고리즘 구현

import java.util.*; 

public class RandomArray 
{ 
    public static void main(String[] args) 
    { 
     Scanner input = new Scanner(System.in); 
     System.out.println("Please enter the number 15 to generate 15 random numbers!"); 
     int randomIn = input.nextInt(); 
     int[] randomNumbers = new int[randomIn]; 
     if(randomIn != 15) 
     { 
     System.out.println("The number you entered was not 15. Please run the program again and enter 15..."); 
     } 
     else if(randomIn == 15) 
     { 
     for(int x = 0; x < randomNumbers.length; ++x) 
     { 
      randomNumbers[x] = (int) (Math.random()*50); 
      System.out.println("Your randomly generated numbers are: " + randomNumbers[x]); 
     } 
     } 

    } 
    public static void bubbleSort(int[] randomNumbers) 
     { 
     int n = randomNumbs.length; 
     int temp = 0; 
     for(int i = 0; i < n; i++) 
      { 
       for(int j = 1; j < (n - 1); j++) 
       { 
        if(randomNumbers[j-1] > randomNumbers[j]) 
        { 
         temp = randomNumbers[j - 1]; 
         randomNumbers[j - 1] = randomNumbers[j]; 
         randomNumbers[j] = temp; 
         for(int i=0); i<randomNumbers.length; i++) 
         { 
          System.out.print(randomNumbers[i] + " "); 
         } 
        } 
       } 
      } 
     } 


} 

오류는 다음과 같습니다

----jGRASP exec: javac -g RandomArray.java 
RandomArray.java:38: error: ';' expected 
         for(int i=0); i<randomNumbers.length; i++) 
           ^
RandomArray.java:38: error: not a statement 
         for(int i=0); i<randomNumbers.length; i++) 
            ^
RandomArray.java:38: error: ')' expected 
         for(int i=0); i<randomNumbers.length; i++) 
                  ^
RandomArray.java:38: error: ';' expected 
         for(int i=0); i<randomNumbers.length; i++) 
                   ^
4 errors 

----jGRASP wedge2: exit code for process is 1. 
----jGRASP: operation complete. 
+3

'for' 루프의 구문은 무엇입니까 ... – fabian

답변

1

이것은 당신이 거품 정렬을 구현하는 방법이다. 방금 배열을 반환하는 메서드를 작성했습니다. 이 오름차순으로 당신의 번호를 주문한다 :

public int []bubbleSort(int[] arr) { 
     int size = arr.length; 
     for (int pass = 1; pass < size; pass++) { 
     for (int i = 0; i < size-pass; i++) { 
      if (arr[i] > arr[i+1]) { 
       int temp = arr[i]; 
       arr[i] = arr[i+1]; 
       arr[i+1] = temp; 
      } 
     } 

     } 
     return arr; 
    } 
+0

도움을 주셔서 감사합니다. 그게 내가 찾고 있던거야. –

+0

당신은 오신 것을 환영합니다! – Intelligent

+0

@DontrellJohnson 제발, 문제를 해결했다면 정답을 표시하십시오. – Thrasher

0

난 당신이 15 개 임의의 숫자와를 생성 할 및 다음 순서
을 가입하는 그것을 인쇄 할 생각은 코드입니다.

import java.util.*; 
public class RandomArray 
{ 
    public static void main(String[] args) 
    { 
     Scanner input = new Scanner(System.in); 
     System.out.println("Please enter the number 15 to generate 15 random numbers!"); 
     int randomIn = input.nextInt(); 
     int[] randomNumbers = new int[randomIn]; 
     if(randomIn != 15) 
     { 
     System.out.println("The number you entered was not 15. Please run the program again and enter 15..."); 
     } 
     else if(randomIn == 15) 
     { 
     for(int x = 0; x < randomNumbers.length; ++x) 
     { 
      randomNumbers[x] = (int) (Math.random()*50); 
      System.out.println("Your randomly generated numbers are: " + randomNumbers[x]); 
     } 
     bubbleSort(randomNumbers); 
     } 

    } 
    public static void bubbleSort(int[] randomNumbers) 
     { 
     int n = randomNumbers.length; 
     int temp = 0; 
     for(int i = 0; i < n; i++) 
      { 
       for(int j = 1; j < (n - 1); j++) 
       { 
        if(randomNumbers[j-1] > randomNumbers[j]) 
        { 
         temp = randomNumbers[j - 1]; 
         randomNumbers[j - 1] = randomNumbers[j]; 
         randomNumbers[j] = temp;      
        } 
       } 
      } 
      for(int k=0; k<randomNumbers.length; k++) 
      { 
      System.out.print(randomNumbers[k] + " "); 
      } 
     } 
} 
+0

도움 주셔서 감사합니다. 나는 당신의 도움 덕분에 내가 잘못 된 곳을 보았다. –

+0

@DontrellJohnson 내 대답이 당신을 도운다면 그것을 upvote 받아 받아들입니다. –