Results 1 to 2 of 2

Thread: sorting problem

  1. #1
    mcal is offline Member
    Join Date
    Jan 2008
    Posts
    39
    Rep Power
    0

    Default sorting problem

    I've got a problem in sorting. I have to use a bubble sort to sort the scores with those who bring the highest percent at the top. The scores of each user i saved in a text file. This is how i tried to do the sorting but its not working. Can someone pls help me out. Thanks a lot.

    Java Code:
      
           for(int j = 0; j < questions.length; j++) {
                
              
               int randomIndex = B[j];
              String input = JOptionPane.showInputDialog(null, questions[randomIndex]); 
    
            
              if(answers[randomIndex].equalsIgnoreCase(input))
              { 
               count++;  // incrementing counter if entered answer is correct
               point++;
    
               correct++;
    		   JOptionPane.showMessageDialog(null, "Congratulations that is correct!");
    		   }
    		  
    		   else
    			{
    			 
    				JOptionPane.showMessageDialog(null, "Wrong Answer!");
    			}
    			
    	if(!timeForMore) // if time is over, the program executes the loop an stops asking questions.
               break; 
         }
             
         
                JOptionPane.showMessageDialog(null, "You answered " + count +
                                          " out of " + questions.length +
                                          " questions correctly.");
                int percent = (count*100)/questions.length;
            JOptionPane.showMessageDialog(null, "Your Geography Quiz score is " + point + " % ");
              
            
            
            
                 try {
                  BufferedWriter out;
                  String name = JOptionPane.showInputDialog(null, "Enter your name");
                  String type = JOptionPane.showInputDialog(null, "Enter your quiz type");
                  
                 
                  
                  
                 if(type.equals("Plate Tectonics")){
                      out = new BufferedWriter(new FileWriter("players.txt",true));
    
    
    
                 out.write(name); //Writing to the textfile (the name entered by user)
                
                 out.write(getSpace(20- name.length())); // Here 20 is max length possible change accordingly
                 String trimmedStr = name.trim();
                 out.write(String.valueOf(points+ " % "));
                 out.write("         ");
                 out.write(type);
                 out.newLine(); //write a new line to the textfile so the next time it writes to the file it does it on the next line
                 out.close();
                 
                 
                   for(int i=1; i<points.length; i++) { 
                   for(int j=0; j<points.length-i; j++) { //if in wrong order then swap  
                    if (points[j]>points[j+1]) swap(points, j, j+1); 
    } 
    } 
    
              
            }
    private static void swap (int[] points, int i, int j) { 
         int h = points[i]; 
         points[i] = points[j]; 
         points[j] = h; 
        }

  2. #2
    mcal is offline Member
    Join Date
    Jan 2008
    Posts
    39
    Rep Power
    0

    Default

    My problem is that the program isn't sorting the high scores. In my program according to my tutor i have to use a bubble sort. The program is cpompiling and it is displaying the score. The problem is that its not sorting them. I think the problem is because i'm only passing one number to the array everytime a user does his turn in the game. The scores one scored are written directly into a text file. Therefore my problem is how to sort these numbers since they are stored in a textfile. Pls i really am lost. I really appreciate any help. Thanks a lot.

    This is the code:

    Java Code:
    if(type.equals("Car")){
                  out = new BufferedWriter(new FileWriter("players.txt",true));
                   
                 int a[] = {percent}; //what do i need to pass here so the array can read all the scores that are stored in the textfile together with the new                score.
                 int i;
     
     
                 int temp, counter, index;
     
                 int length=0;
     
                 for(counter=0; counter<length-1; counter++) { //Loop once for each element in the array.
     
                   for(index=0; index<length-1-counter; index++) { //Once for each element, minus the counter.
     
                    if(a[index] > a[index+1]) { //Test if need a swap or not.
     
                        temp = a[index]; //These three lines just swap the two elements:
     
                       a[index] = a[index+1];
     
                        a[index+1] = temp;
     
                    }
     
                }
     
            }
                
                 
                 out.write(String.valueOf(percent));
     
               
                 out.newLine(); 
                 out.close();
                }
    Thanks a lot.

Similar Threads

  1. Sorting JTable (Vectors) Problem
    By ramapple in forum AWT / Swing
    Replies: 6
    Last Post: 07-07-2009, 12:15 AM
  2. sorting problem...
    By mark-mlt in forum New To Java
    Replies: 4
    Last Post: 04-17-2008, 03:15 PM
  3. Problem with sorting Table
    By sireesha264 in forum Advanced Java
    Replies: 0
    Last Post: 02-08-2008, 03:21 PM
  4. Heap Sorting
    By kesav2005 in forum New To Java
    Replies: 1
    Last Post: 11-13-2007, 05:04 PM
  5. sorting JTable
    By mansi_3001 in forum Advanced Java
    Replies: 3
    Last Post: 08-10-2007, 07:29 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •