본문 바로가기
Backend/JAVA_WEB

02. JSP (배열, 사용자 정의 함수)

by 개발개발빈이 2022. 6. 28.

○ 배열

<%

    String[] uname = {"황대헌", "이준서", "김동욱", "곽윤기", "박장혁"};
    int[] kor = {100, 50, 95, 80, 60};
    int[] eng = {100, 55, 95, 85, 40};
    int[] mat = {100, 60, 35, 90, 30};
    int size = uname.length;
	
    // 평균구하기
    int[] aver = {0, 0, 0, 0, 0};
    for(int a=0; a<size; a++){
        aver[a]=(kor[a]+eng[a]+mat[a])/3;
    }//for end

    // 등수구하기(평균을 기준으로)
    int[] rank = {1, 1, 1, 1, 1};
    for(int a=0; a<size; a=a+1){
	    for(int b=0; b<size; b=b+1){
	        if(aver[a]<aver[b]){
	            rank[a]=rank[a]+1;
	        }//if end
	    }//for end
    }//for end
    

%>

 

    - 출력

<div class="container">
    <table class="table table-hover">
    <thead>
        <tr class="active">
            <th>이름</th>
            <th>국어</th>
            <th>영어</th>
            <th>수학</th>
            <th>평균</th>
            <th>등수</th>
            <th>결과</th>
        </tr>
    </thead>
    <tbody>
<%
    for(int i=0; i<size; i++){
%>
        <tr>
            <td><%=uname[i]%></td>
            <td><%=kor[i]%></td>
            <td><%=eng[i]%></td>
            <td><%=mat[i]%></td>
            <td><%=aver[i]%></td>
            <td><%=rank[i]%></td>
            <td>
<% 
                //과락(합격, 재시험, 불합격)
                if(aver[i]>=70){
                    if(kor[i]<40 || eng[i]<40 || mat[i]<40){
                        out.print("재시험");
                    }else{
                        out.print("합 격");
                    }//if end
                }else{
                    out.print("불합격");
                }//if end

                //평균 10점당 *한개씩
                for(int star=1; star<=(int)(aver[i]/10); star++){
                    out.print("*");
                }//for end

                //평균 95점 이상이면 장학생(진하게, 빨강색)
                if(aver[i]>=95){
                    out.print("<span style='color:red; font-weight:bold;'>");
                    out.print("장학생");
                    out.print("</span>");
                }//if end
%>				
            </td>
			</tr>
			
<%			
    }//for end
%>			
    </tbody>
    </table>
</div>

 

○ JSP 사용자 정의 함수

    - jsp 함수 작성 영역 :  <%! 함수작성영역 %>

    - 많이 사용하진 않음

<body>

    최대값 : <%=max(3, 5)%>
    두수 사이의 차이 : <%=diff(2, 6) %>
	
<%!

    public int max(int a, int b){
        return Math.max(a, b);
    }//max() end
	
    public int diff(int a, int b){
        return Math.abs(a-b);
    }//diff() end	

%>	

</body>

댓글