2016-05-01 16 views
0

私はテキストファイルからソート番号をバブルしようとしています。バブルソートの方法とテキストファイルの使い方を理解しています。しかし、それらの両方を同時に使用したことはありません。私は配列をソートし、その配列をテキストファイルに置き換える方法を見つけようとしました。誰かがバブルをテキストファイルを読むようにする方法を私に説明することができれば、それは非常に高く評価されます。私はJavaに新しいので、私は1つのプログラムに学んだ2つの異なるものを組み合わせることは時々混乱しています。バブル並べ替え番号

public static void main(String[] args) 
{ 

    int number[]={7,13,4,5,62,3,1,3,45}; 

    int temp; 
    boolean fixed=false; 
    while(fixed==false){ 
     fixed = true; 

    for (int i=0; i <number.length-1;i++){ 
     if (number[i]>number[i+1]){ 

     temp = number [i+1]; 

     number[i+1]=number[i]; 

     number[i]=temp; 
     fixed=false; 
     } 
} 
} 
    for (int i=0; i<number.length;i++){ 
     System.out.println(number[i]); 
    } 
    } 

} 
+0

一般的な質問をしましたので、一般的な答えを出します。ファイルから数値を読み取るだけです。文字列をintの配列に解析します(並べ替えのために書いた例を使用する場合)。ソートされた配列をファイルに書き戻します。 –

答えて

0

使用Scannerクラス:

は、ここで配列をソート解決私のバブルです!

File file=new File("file.txt"); 
Scanner sc=new Scanner(file); 
int arr[]=new int[100]; 
int i=0; 
while(sc.hasNextLine()){ 
    arr[i]=sc.nextInt(); 
    i++; 
} 
0

アレイをハードコードしないでください。それをある

File file=new File("file.txt"); 
Scanner sc=new Scanner(file); 
String arr[] = sc.nextLine().split(" "); 

は、ファイルの内容は、いくつかの区切り文字で区切られた番号のリストと言う単一のスペース「」

使用であると仮定します。 アレイを手に入れたら、それを使って遊ぶことができます..!あなたはこのように行うことができます

0

:ファイルを読む

package test; 

import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.Arrays; 
import java.util.Scanner; 

public class Test { 

    public static void bubbleSort(int[] num) { 
     int j; 
     boolean flag = true; // set flag to true to begin first pass 
     int temp; //holding variable 

     while (flag) { 
      flag= false; //set flag to false awaiting a possible swap 
      for(j=0; j < num.length -1; j++) { 
       if (num[ j ] < num[j+1]) { 
        temp = num[ j ];    //swap elements 
        num[ j ] = num[ j+1 ]; 
        num[ j+1 ] = temp; 
        flag = true;    //shows a swap occurred 
       } 
      } 
     } 
    } 

    public static void main(String[] args) throws FileNotFoundException { 
     Scanner scanner = new Scanner(new File("numbers.txt")); 
     int [] numbers = new int [256]; 
     int i = 0; 
     while(scanner.hasNextInt()){ 
      numbers[i++] = scanner.nextInt(); 
     } 

     bubbleSort(numbers); 

     System.out.println(Arrays.toString(numbers)); 

    } 
} 
+0

ソリューションを試しましたが、出力プリントを除いてすべて正常に動作します。[I @ 1909752 – JohnMart972

+0

決して気にしない。助けをありがとう – JohnMart972

+0

何が問題だったのですか? :)私はそれを印刷するのを忘れていた –

0

は、バブルソートとは何の関係もありません。ファイルを読み込んで整数の配列を作成し、通常のバブルソートアルゴリズムを使って並べ替えることができます。