티스토리 뷰

다차원 배열을 사용하게 되면서 구조가 복잡해져서, 머리에서 바로 이 프로그램을 떠올리는 속도가 늦었다.

내가 사용한방법은 필요한 값들의 가장 큰 값을 생각하고 이를 그림으로 순차적으로 표현해서

그림을 참고하며 프로그램을 작성했다. 

프로그램의 큰 틀을 일단 글로 작성했다.

1.반의 갯수 

2.반 인원수 

3.반 인원수에 맞춰 국영수 점수 입력(국영수 점수를 바탕으로 총점과 평균을 계산)

4.일괄 출력 

 

import java.util.Scanner;
public class Calculator 

{


		   public static void main(String[] args) {
			      int clasnum;
			      String[][]name=null;
			      int[][][]score=null;
			      Scanner sc= new Scanner(System.in);
			      int a;
			      float[][]avg;
			      String []name2= {"국어","영어","수학","총점","평균"};
			      
			      System.out.println("반의 갯수:");
			     
			      a=sc.nextInt(); 
			      avg=new float[a][];
			      score=new int[a][][];
			      name= new String[a][];
			      for(int i=0;i<a;i++) {
			         System.out.println("반 학생의 인원수");
			         clasnum=sc.nextInt();
			         name[i]=new String[clasnum];
			         score[i]=new int[clasnum][4];
			         avg[i]=new float[clasnum];
			         
			         for(int j=0;j<clasnum;j++) {
			            System.out.println("학생의 이름: ");
			            name[i][j]=sc.next();
			            for(int k=0;k<3;k++) {
			               System.out.println(name2[k]+"점수:");
			               score[i][j][k]=sc.nextInt();
			               
			               score[i][j][3]+=score[i][j][k];
			               avg[i][j]=score[i][j][3]/3;
			            }
			         
			            
			            
			            
			         }
			         
			         
			         
			      }
			      for(int k=0;k<a;k++) {
			    	  System.out.println((k+1)+"반의 통계");
			    	  for(int f=0;f<name[k].length;f++) {
			    		  System.out.print("이름:"+name[k][f]+"\t");
			    		  System.out.print("국어점수:"+score[k][f][0]+"\t");
			    		  System.out.print("수학점수:"+score[k][f][1]+"\t");
			    		  System.out.print("과학점수:"+score[k][f][2]+"\t");
			    		  System.out.print("총점:"+score[k][f][3]+"\t");
			    		  System.out.print("평균:"+avg[k][f]);
			    		  
			    		  System.out.println(" ");
			    		  
			    	  }
			      }
		
}
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함