-
자바 알고리즘(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