JAVA 프로그래밍

문제

사용자가 점수들을 입력하면 그 점수들을 정렬하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요 

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

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

2   int[] scores = { 0, 0, 0 };          
   main()
              [0]         [1]         [2]    
 scores  0   0   0 

0점 ~ 100점 사이의 점수를 입력하세요: 90
0점 ~ 100점 사이의 점수를 입력하세요: 89
0점 ~ 100점 사이의 점수를 입력하세요: 86

3   for ( int last = scores.length - 1; 0 < last; last-- ) {   

4    for ( int index = 0; index < last; index++ ) {
   main()
              [0]         [1]         [2]    
scores  90   89   86 
  last  2 
 index  0 

5     if ( scores[index] > scores[index+1] ) { 

6      scores[index+1] = temp;       
   main()
              [0]         [1]         [2]    
scores  86 
  last
 index
  temp

4    for ( int index = 0; index < last; index++ ) {

5     if ( scores[index] > scores[index+1] ) { 

6      scores[index+1] = temp;       
   main()
              [0]         [1]         [2]    
scores  89 
  last
 index
  temp

4    for ( int index = 0; index < last; index++ ) {

3   for ( int last = scores.length - 1; 0 < last; last-- ) {   

4    for ( int index = 0; index < last; index++ ) {

5     if ( scores[index] > scores[index+1] ) { 

6      scores[index+1] = temp;       
   main()
              [0]         [1]         [2]    
scores  90 
  last
 index
  temp

4    for ( int index = 0; index < last; index++ ) {

3   for ( int last = scores.length - 1; 0 < last; last-- ) {   

86 89 90 

7  }


프로그램 코드

	import java.util.Scanner;
		
	public class ScoreSort
	{
1		public static void main( String[] args ) { 	
			Scanner scan = new Scanner( System.in );	
2			int[] scores = { 0, 0, 0 }; 									
			for ( int index = 0; index < scores.length; index++ ) {		
				System.out.print( "0점 ~ 100점 사이의 점수를 입력하세요: " );
				scores[index] = scan.nextInt();
			}	
			
3			for ( int last = scores.length - 1; 0 < last; last-- ) {			
4				for ( int index = 0; index < last; index++ ) {
5					if ( scores[index] > scores[index+1] ) {	
						int temp = scores[index];
						scores[index] = scores[index+1];						
6						scores[index+1] = temp;							
					}
				}	
			}
		
			for ( int score : scores ) 
				System.out.print( score + " " );
			scan.close();
7		}
	}