2012-10-20 3 views
1

버블 정렬에서 내림차순으로 이름 문자열을 정렬해야합니다. 시도했지만 작동하지 않습니다.내림차순으로 버블 정렬 문자열

public static void bubbleSort(Student[] array) 
{ 
    for(int i=(array.length); i>0; i--) 
    {  
     for(int j=1; j<(array.length-i); j++) 
     { 
      if(array[j].getName().compareTo(array[j+1].getName())<0)  
      { 
       Student Temp = array[j]; 
       array[j] = array[j+1]; 
       array[j+1] = Temp; 
      }  
     } 
    } 
} 
+1

http://stackoverflow.com/questions/12988751/cannot-call- : 이것은 내가 지금까지 무엇을 가지고 instance-method-from-static-method);) – nkr

+1

어떻게 구체적으로 작동하지 않습니까? 출력으로 얻는 것과 당신이 얻고 자하는 것을 얻는 것은 무엇입니까? 일반적으로 여기에 특정 질문을 선호하지만, 적어도 당신이 이해하지 못하는 것에 대해서는 최대한 구체적으로 작성하십시오. – jrajav

+2

숙제이기 때문에 직접해야합니다. 즉, 디버깅을하는 법을 배우는 것입니다. 디버그 출력에 배열 인덱스와 값을 지정하고 프로그램을 단계별로 실행하여 어떤 일이 일어나는지 확인하십시오. –

답변

0

이 논리를 시도

import java.util.*; 

    public class BubbleSort { 

    public static void main(String[] args) { 
    String l[]={"ABCD" , "XYZ" , "DEF" , "PQR"}; 
    BubbleSort(l); 
    for(int i=0; i<l.length; i++) 
    { 
     System.out.println(l[i]); 
    } 
    } 

private static void BubbleSort(String[] array) { 
    String t; 
    for(int i=0; i<array.length; i++) { 
     for(int j=0; j<array.length-1-i; j++) { 
     if(array[j].compareTo(array[j+1])>0) { 
      t= array[j]; 
      array[j] = array[j+1]; 
      array[j+1] = t; 
     } 
    } 
    } 
} 
    } 
우리는 (모든 [숙제]가 해결되지 않습니다
+0

질문은 숫자가 아닌 이름을 비교하는 것이기 때문에 이것은 작동하지 않습니다. – nkr

+0

@nkr : - 지금이 일이 잘되기를 바랍니다 !!!! –

+0

t 변수로 마지막 줄에서 학생에게 t 형식을 변환하려고해도 오류가 발생하지만 여전히 작동하지 않습니다. –