본문 바로가기

CS Study/Java

4. 배열 / 예외 처리

1. 과목당 평균 출력하기

import java.util.Scanner;
public class 과제1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		System.out.println("반 수 입력 : ");
		int class_num = scan.nextInt();
		System.out.println("반별 학생 수 입력 : ");
		int stu_num = scan.nextInt();
		double scores_kor[][] = new double[class_num][stu_num];
		double scores_eng[][] = new double[class_num][stu_num];
		double sum_kor = 0;
		double sum_eng = 0;
		for (int i=0;i<class_num;i++) {
			for (int j=0;j<stu_num;j++) {
				System.out.println("국어 점수 입력 : ");
				scores_kor[i][j] = scan.nextDouble();
				sum_kor += scores_kor[i][j];
				System.out.println("영어 점수 입력 : ");
				scores_eng[i][j] = scan.nextDouble();
				sum_eng += scores_eng[i][j];
				System.out.println("합 = "+(scores_kor[i][j]+scores_eng[i][j])+", 평균 = "+(scores_kor[i][j]+scores_eng[i][j])/2);
			}
		}
		System.out.println("총합 = "+(sum_kor+sum_eng)+", 과목당 평균 = "+(sum_kor+sum_eng)/(2*class_num*stu_num));

	}

}

2. 구구단 출력하기

public class 실습1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i,j;
		for (i=0;i<5;i++) {
			for (j=0;j<10;j++) {
				System.out.print("*");
			}
			System.out.println();
		}

	}

}

3. 양수만 더하기

import java.util.Scanner;
public class 실습2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		System.out.println("숫자를 입력하시오 : ");
		int sum = 0;
		int i;
		for(i=0;i<5;i++) {
			int a = scan.nextInt();
			if(a<=0) {
				continue;
			}
			sum +=a;
		}
		
		System.out.println(sum);
		
		
	}

}

4. 문장 내의 알파벳(n)개수 찾기

import java.util.Scanner;
public class 실습3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner (System.in);
		String s = scan.next();
		int n=0;
		int i;
		for (i=0;i<s.length();i++) {
			if(s.charAt(i) != 'n') {
				continue;
			}
			n++;
		}
		System.out.println("문장 내 n의 개수 = "+n);

	}

}

5. 양의 정수 평균 구하기

import java.util.Scanner;
public class 실습4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		double sum = 0;
		int count=0;
		while (true) {
			System.out.println("점수? ");
			int n = scan.nextInt();
			
			if(n<0) {
				break;
			}
			count++;
			sum+=n;
			
		}
		System.out.println("평균 : "+ sum/count);

	}

}

6. exit 입력 시 프로그램 종료

import java.util.Scanner;

public class 실습5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("exit을 입력 시 종료");
		
		Scanner scan = new Scanner(System.in);
		while (true) {
			System.out.print(">>");
			String s = scan.next();
			if(s.equals("exit")) {
				break;
			}
		}
		System.out.println("종료합니다...");

	}

}

7. 가장 큰 수 출력하기

import java.util.Scanner;
public class 실습6 {
	public static void main(String[] args) {
		int num[] = new int[10];
		int i;
		int j;
		System.out.println("양수 5개 입력 : ");
		Scanner scan = new Scanner(System.in);
		for (i=0;i<5;i++) {
			num[i] = scan.nextInt();
			
		}
		int max = num[0];
		for (j=0;j<5;j++) {
			if (num[j] > max) {
				max = num[j];
			}
		}
		System.out.println("가장 큰 수 : "+max);
	}

}

8. 평균 출력하기

import java.util.Scanner;

public class 실습7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		int num[] = new int[5];
		double sum = 0;
		System.out.println("5개의 양수 입력 : ");
		for(int i=0;i<5;i++) {
			num[i] = scan.nextInt();
		}
		for (int k : num) {
			sum += k;
		}
		System.out.println("평균 : "+sum/5);

	}

}

9. 요일 출력하기

public class 실습8 {
	enum Weekday {월,화,수,목,금}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String names[] = {"사과", "배", "체리", "딸기","포도"};
		
		for (String s : names)
			System.out.println(s+ " ");
		System.out.println();
		
		for (Weekday days : Weekday.values())
			System.out.print(days + "요일 ");
		System.out.println();

	}

}

10. 행렬 출력하기

public class 실습9 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[][] array = {{10,20,30,40},{50,60,70,80},{90,100,110,120}};
		for (int[] r: array) {
			for(int c: r) {
				System.out.print(c+" ");
			}
			System.out.println();
		}

	}

}

11. 전체 평점 출력하기

public class 실습10 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double grades[][] = {{3.3,3.4},{3.5,3.6},{3.7,4.0},{4.1,4.2}};
		double sum = 0;
		for (int r = 0;r<grades.length;r++) {
			for (int c = 0;c<grades[r].length;c++) {
				sum+=grades[r][c];
			}
		}
		int n = grades.length;
		int m = grades[0].length;
		System.out.println("전체 평점 평균 : "+ sum/(n*m));

	}

}

12. 나눗셈 계산하기 - 예외 처리

import java.util.Scanner;

public class 실습11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s = new Scanner(System.in);
		System.out.println("첫번째 수 : ");
		int i = s.nextInt();
		System.out.println("두번째 수 : ");
		int j = s.nextInt();
		try{
			System.out.println(i/j);
		}
		catch (Exception a) {
			System.out.println("0으로 나누기 오류 발생");
			System.out.println(a.getMessage());
			a.printStackTrace();


		}
		

	}

}

13. 정수의 합 출력하기 - 예외 처리

import java.util.Scanner;
import java.util.InputMismatchException;
public class 실습12 {
	public static void main(String arg[]) {
		int sum=0, n=0;
		Scanner scan = new Scanner(System.in);
		System.out.println("정수 3개를 입력하세요");
		for (int i=0; i<3; i++) {
			System.out.print("입력: ");
			try { n = scan.nextInt(); } // 정수 입력
			catch (InputMismatchException e) {
				System.out.println("정수 아님! 다시 입력하세요!");
				scan.next(); // 정수가 아닌 입력 값(토큰;단어)을 버림
				i--; // 인덱스가 증가하지 않도록 감소
				continue; // 다음 루프 
				}
			sum += n; }
		System.out.println("합 = " + sum);
		scan.close(); 
		}
	}

'CS Study > Java' 카테고리의 다른 글

6. 패키지 / 접근 제한자 / 상속  (0) 2022.04.07
5. 클래스 / 객체 활용  (0) 2022.04.07
3. if / switch / for / while / do-while / random 함수  (0) 2022.04.07
2. 자료형 2 / Scanner  (0) 2022.04.07
1. 출력 / 자료형 1  (0) 2022.04.07