sorting problem

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • saytri
    New Member
    • Dec 2007
    • 35

    sorting problem

    Im trying to sort a set of names, stored in a textfile in acscending order (this textfile contains also the marks of each student). I did this piece of code, but altough its compiling its not sorting them. Can someone pls help me with this problem. Thanks a lot.

    Code:
    import java.awt.BorderLayout;
    import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileInputStream;
     
    import javax.swing.JDialog;
    import javax.swing.JTextArea;
    import java.awt.*;
    import javax.swing.*;
     
    import java.io.*;
    import java.util.Arrays;
     
     
     
    public class Scores {
    int len;
    private JTextArea textArea;
    public Scores() {
    super();
     
    try{
    JDialog dialog = new JDialog();
    dialog.getContentPane().setLayout(new BorderLayout(10, 10));
    //
    String record = null;
    String path = "players.txt";
     
            File file = new File(path);
            StringBuilder sb = new StringBuilder();
            BufferedReader br = new BufferedReader(
                                new InputStreamReader(
                                new FileInputStream(file)));
            String line;
            while((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }
            br.close();
            String[] p = sb.toString().split("\\n");
            System.out.printf("items = %s%n", Arrays.toString(p));
        
                 
    int a,b;
     
    String temp;
     
    int sortTheStrings = len - 1;
     
    for (a = 0; a < sortTheStrings; ++a)
     
    for (b = 0; b < sortTheStrings; ++b)
     
    if(p[b].compareTo(p[b + 1]) >0)
     
    {
     
    temp = p[b];
     
    p[b] = p[b + 1];
     
    p[b + 1] = temp;
     
    }
                            
     
    FileInputStream fileInput = new FileInputStream(file);
    DataInputStream dis = new DataInputStream(fileInput);
     
    String string = dis.readLine();
    textArea = new JTextArea();
    while(string != null){
    textArea.append(string + "\n");
    string = dis.readLine();
    textArea.setBackground(Color.orange);
    textArea.setFont(new Font("Times New Roman", Font.BOLD, 14));
    textArea.setEditable(false);
    textArea.setForeground(Color.red);
    }
    dialog.getContentPane().add(BorderLayout.CENTER, textArea);
    dialog.setTitle("Scores");
    dialog.setSize(350, 350);
     
    dialog.setVisible(true);
     
     
    }catch (Exception e){
    e.printStackTrace();
    }
     
    }
     
    public static void main(String[] args){
    new Scores();
    }
     
    }
Working...