2016-12-11 6 views
0

バブルソートアルゴリズムを自分のコードに実装して、出力を昇順で表示しようとしています。以下は、私がJGraspで受け取ったエラーの後ろのコードです。任意のアドバイスやポインターをいただければ幸いです。私が受け取るJavaバブルソートアルゴリズムの実装

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私の答えがあなたをアップアップし、それを受け入れる場合は。 –