Quiz5>
3명 학생의 3과목 점수를 입력받아 각 과목별 학생별 총점을 출력하는 메서드를 정의하고 실행하시오.
(입력받은 3명 학생의 3과목 점수를 배열로 메서드에 전달해서 각 과목별 학생별 총점을 출력하는 메서드를 정의)
입력 예>
50801009688661008590
출력 예>
50801002309688662501008590275246253256755
package lab.java.basic;
import java.util.Scanner;
publicclassQuiz5 {
publicvoidsubjectTotal(int[][] subjects) {
int[] subjectTotal = newint[3];//과목별 총합 저장할 배열for(int i=0;i<subjects.length;i++) {
int total = 0; //학생의 과목 총점for(int j=0;j<subjects[i].length;j++) {
total+=subjects[i][j];
subjectTotal[j] +=subjects[i][j];
System.out.print(subjects[i][j]+" ");
}
System.out.println(total );
}
int allTotal = 0; //3명의 학생의 모든 과목의 총합을 저장할 변수for(int i=0;i<subjectTotal.length;i++) {
allTotal += subjectTotal[i];
System.out.print(subjectTotal[i] +" ");
}
System.out.print(allTotal +"\n");
}
publicstaticvoidmain(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("과목별 점수 입력>>");
int[][] subjects = newint[3][3];
for(int i=0;i<subjects.length;i++) {
for(int j=0;j<subjects[i].length;j++) {
subjects[i][j] = input.nextInt();
}
}
Quiz5 q = new Quiz5();
q.subjectTotal(subjects);
}
}
#재귀호출 : 함수 내부에서 자신을 호출
반드시 재귀호출 중단 조건문 정의
Quiz1> 반복문을 사용하지 않고 자신의 이름을 10번 출력하는 재귀호출 메서드 구현 및 실행
package lab.java.basic;
publicclassQuiz1{
publicvoidprint(int n){
if(n==0) return;
System.out.println("korea");
print(n-1);
}
publicstaticvoidmain(String[] args){
Quiz1 q = new Quiz1();
q.print(10);
}
}
Quiz2>50 이하의 자연수 N을 입력받아 재귀함수를 이용하여 1부터 N까지의 정수를 차례대로 출력하는 재귀호출 메서드 구현 및 실행
package lab.java.basic;
import java.util.Scanner;
publicclassQuiz2{
publicvoidprint(int n, int start){
System.out.print((start) +" ");
if (n==start) {
return;
}
else {
print(n, ++start);
}
}
publicstaticvoidmain(String[] args){
Quiz2 q = new Quiz2();
Scanner input = new Scanner(System.in);
System.out.println("50이하의 자연수 입력>>");
int n = input.nextInt();
q.print(n, 1);
}
}
Quiz3> 9자리 이하의 자연수를 입력받아 재귀함수를 이용하여 각 자리 숫자들의 합을 출력하는 재귀호출 메서드 구현 및 실행
입력 예>123456780
출력 예> 36package lab.java.basic;
import java.util.Scanner;
publicclassQuiz3{
int total = 0;
publicintaccumulate(int num){
if (Integer.toString(num).length() == 1) {
total += num;
return total;
} else {
int temp = num % 10;
total += temp;
return accumulate(num / 10);
}
}
publicstaticvoidmain(String[] args){
Quiz3 q = new Quiz3();
Scanner input = new Scanner(System.in);
System.out.println("9자리 이하의 자연수 입력>>");
int num = input.nextInt();
System.out.println(q.accumulate(num));
}
}