ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 알고리즘(3)
    자바페스티벌 2022. 5. 5. 23:37

    ex15 성적 별 학생 수

    학생들의 성적정보가 문자열로 선언되어 있을 때 각 성적 별 학생 수를 출력해보겠습니다.

    String score = "A,A,B,C,D,A,C,D,D,D,F";
    		
    String[] score2 = score.split(",");
    		
    int a = 0;
    int b = 0;
    int c = 0;
    int d = 0;
    int f = 0;
    		
    for(int i=0; i<score2.length; i++) {
    	if(score2[i].equals("A")) {
    		a++;
    	}else if(score2[i].equals("B")) {
    		b++;
    	}else if(score2[i].equals("C")) {
    		c++;
    	}else if(score2[i].equals("D")) {
    		d++;
    	}else {
    		f++;
    	}
    }
    		
    System.out.println("A : " + a +"명");
    System.out.println("B : " + b +"명");
    System.out.println("C : " + c +"명");
    System.out.println("D : " + d +"명");
    System.out.println("F : " + f +"명");

    split() 함수 사용하기
     : 입력받은 정규표현식 또는 특정 문자를 기준으로 문자열을 나누어 배열(Array)에 저장하여 리턴합니다.

     

     

     

    ex16 N*N 배열

    정수 N을 입력받아 N*N 배열에 다음과 같이 숫자를 저장하고 출력해보겠습니다.

    System.out.print("정수 입력 >> ");
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    
    int[][] arr = new int[n][n];
    
    int cnt = 1;
    
    for (int i = 0; i < n; i++) {
    if (i % 2 == 0) {
    		for (int j = 0; j < n; j++) {
    			arr[i][j] = cnt;
    			cnt++;
    		}
    	} else {
    		for (int j = n - 1; j >= 0; j--) {
    			arr[i][j] = cnt;
    			cnt++;
    		}
    	}
    }
    
    for (int j = 0; j < n; j++) {
    	for (int i = 0; i < n; i++) {
    		System.out.print(arr[j][i] + "\t");
    	}
    	System.out.println();
    }

     

     

     

    ex17 수열의 n번째 항까지 출력

    정수 n을 입력받아 1, 2, 4, 7, 11 과 같은 수열의 n번째 항까지 출력하시오.

    System.out.print("n 입력 : ");
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt();
    		
    int n = 1;
    		
    for(int i =1; i <= num; i++) {
    	System.out.print(n+" ");
    			
    	n += i;
    }

     

     

     

     

    ex18 정수 합 출력

    8자리 정수를 입력받아 반복문을 활용하여 입력받은 정수의 합을 구하여 출력하는 프로그램을 작성해보겠습니다.

    System.out.print("정수 입력 : ");
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int sum = 0;
    
    while (n > 0) {
    
    	sum += n % 10;
    
    	n /= 10;
    
    	}
    		
    System.out.println("합은 " + sum +"입니다.");

     

     

     

    ex19 cal 메소드

    num1, num2, op(+, -, *, /)를 매개변수로 받아 num1과 num2를 op에 맞게 연산한 결과값을 반환해주는 cal 메소드를 작성해보겠습니다.

    public class Main {
    	public static void main(String args[]) {
            int num1 = 50;
            int num2 = 15;
            char op = '-';
            
            System.out.println(cal(num1, num2, op));
    	}
        
        	public static int cal(int num1, int num2, char op) {
    		switch(op) {
    		case '+' :
    			return num1+num2;
    		case '-' :
    			return num1-num2;
    		case '*' :
    			return num1*num2;
    		case '/' :
    			return num1/num2;
    			default :
    				return 0;
    		}
    	}
    }

     

     

     

    ex20 3의 배수 숫자

    숫자를 입력 받아 3의 배수인 숫자를 출력하는 프로그램을 작성해보겠습니다.

    Scanner sc = new Scanner(System.in);
    		
    String result = "";
    		
    for(int i=1; i <=10; i++) {
    	System.out.print(i+"번 째 정수 입력 >> ");
    	int num = sc.nextInt();
    	if(num%3==0) {
    		result += num+" ";
    	}
    }
    		
    System.out.print("3의 배수 : " + result);

     

     

     

    ex21 로또 프로그램

    중복이 없이 숫자를 뽑는 로또 프로그램을 만들어보겠습니다.

    Random rd = new Random();
    int[] arr = new int[6];
    
    for (int i = 0; i < arr.length; i++) {
    	arr[i] = rd.nextInt(45) + 1;
    	for (int j = 0; j < i; j++) {
    		if (arr[j] == arr[i]) {
    			i--;
    			break;
    		}
    	}
    }
    
    for (int i = 0; i < arr.length; i++) {
    	System.out.println("행운의 숫자 : " + arr[i]);
    }

    '자바페스티벌' 카테고리의 다른 글

    자바 알고리즘(5)  (0) 2022.05.06
    자바 알고리즘(4)  (0) 2022.05.06
    자바 알고리즘(2)  (0) 2022.05.04
    자바 알고리즘 (1)  (0) 2022.05.04

    댓글

Designed by Tistory.