JAVA 프로그래밍

문제

제네릭 메서드를 바탕으로 점수 및 단어를 정렬하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요 

프로그램의 실행순서 및 실행상태

1  public static void main( String[] args ) {  

2   sort( scores );
              main()
scores
     [0]         [1]         [2]    (obj01)
 
  (obj02)   (obj03)   (obj04)
    90       89       86  

Fb  public static <T extends Comparable<T>> void sort( T[] list ) {
              main()
scores (obj01)
  ()
  list
     [0]         [1]         [2]    (obj01)
  (obj02) (obj03) (obj04)
  (obj02)   (obj03)   (obj04)
    90       89       86  

Fe  }
              main()
scores (obj01)
  ()
  list (obj01)
     [0]         [1]         [2]    (obj01)
 
  (obj02)   (obj03)   (obj04)
    90       89       86  

3   System.out.println();
86 89 90

4   sort( words );
              main()
scores  (obj01) 
 words
     [0]         [1]         [2]    (obj01)
  (obj04) (obj03) (obj02)
  (obj02)   (obj03)   (obj04)
    90       89       86  
     [0]         [1]         [2]    (obj05)
 
  (obj06)   (obj07)   (obj08)
  'carrot'   'banana'   'apple'

Fb  public static <T extends Comparable<T>> void sort( T[] list ) {
              main()
scores  (obj01) 
 words  (obj05) 
  ()
  list
     [0]         [1]         [2]    (obj01)
  (obj04) (obj03) (obj02)
  (obj02)   (obj03)   (obj04)
    90       89       86  
     [0]         [1]         [2]    (obj05)
  (obj06) (obj07) (obj08)
  (obj06)   (obj07)   (obj08)
  'carrot'   'banana'   'apple'

Fe  }
              main()
scores  (obj01) 
 words  (obj05) 
  ()
  list  (obj05) 
     [0]         [1]         [2]    (obj01)
  (obj04) (obj03) (obj02)
  (obj02)   (obj03)   (obj04)
    90       89       86  
     [0]         [1]         [2]    (obj05)
 
  (obj06)   (obj07)   (obj08)
  'carrot'   'banana'   'apple'

apple banana carrot

5  }


프로그램 코드

		
	public class GenericMethodMain 
	{
Fb		public static <T extends Comparable<T>> void sort( T[] list ) {
			for ( int last = list.length - 1; last >= 0; last-- ) {
				for ( int index = 0; index < last; index++ ) {
					if ( list[ index ].compareTo( list[ index + 1 ] ) > 0 ) {
						T temp = list[ index ];						
						list[ index ] = list[ index + 1 ]; 
						list[ index + 1 ] = temp; 
					}
				}
			}
Fe		}
		
1		public static void main( String[] args ) { 	
			Integer[] scores = new Integer[]{ 90, 89, 86 };
2			sort( scores );
			for( int score : scores )
			    System.out.print( score + " "  );
3			System.out.println();
	
			String[] words = new String[]{ "carrot", "banana", "apple" };
4			sort( words );
			for( String word : words )
			    System.out.print( word + " "  );
	
5		}
	}