본문 바로가기
Java/코드

[Java] 예제 풀어보기 - 평균 구하기, 배열의 짝수 홀수 구분, 배열의 정렬, 주민등록번호 구분하기, 문자열 치환

by 리요_ 2023. 2. 10.
반응형

래의 다섯가지 예제를 풀어보려 합니다.


Q1. 주어진 성적의 평균 구하기.

국어 80, 영어75, 수학 55 일 때 평균 구하기. 

//1.변수

int korean = 80;
String english = "75";
double math = 53;
System.out.printf("평균: %.2f \n",(korean + Integer.parseInt(english)+math)/3);

Q2. 배열의 짝수와 홀수를 구분하여 출력하기.

숫자 배열 [] = {9, 12, 14, 21, 16, 13} 

짝수[] = {}

홀수[] = {}

//2. 짝수 홀수 구분

int[] source = {9,12,14,21,16,13};
ArrayList<Integer> even = new ArrayList<>();
ArrayList<Integer> odd = new ArrayList<>();

for(int s: source) {
	if(s % 2 == 0) {
		even.add(s);
	}else {
		odd.add(s);
	}
}

System.out.println(even);
System.out.println(odd);

Q3. 위의 배열을 정렬하기.

숫자 배열 [] = {9, 12, 14, 21, 16, 13} 

-> 숫자 배열 [] = {9, 12, 13, 14, 16, 21}

//3.역순 정렬 (선택 정렬) -> Arrays.sort()
      
for(int i=0; i<source.length; i++) {
for(int j=i+1; j<source.length; j++) {
	if(source[i] < source[j]) {
		int temp = source[i];
		source[i] = source[j];
		source[j]=temp;
		}
	}
}

System.out.println(Arrays.toString(source));

Q4. 주민등록번호로 생년월일 및 성별 출력하기.

 YYYY년 MM월 DD일 / 뒷자리 성별 구분 

//4. 주민번호 -> 생년월일 성별 

String socialNumber = "990125-1234567";
String[] sNums = socialNumber.split("-");
int code = Integer.parseInt(sNums[1].substring(0,1));
String birthDate = null;
String gender = null;

if(code == 1 || code == 2) {
	birthDate = "19" + sNums[0].substring(0,2);
	gender = code == 1? "남자":"여자";
}else if (code == 3 || code == 4) {
	birthDate = "20" + sNums[0].substring(0,2);
	gender = code == 3? "남자":"여자";
}

System.out.println(birthDate+"년 "+ sNums[0].substring(2,4)+"월 "+ sNums[0].substring(4,6)+"일");

Q5. 문자열 치환.

문자열 "a:b:c:d" -> "a# b# c#d" 로 변경

//5. 문자열 치환

String a = "a:b:c:d";
System.out.println(a.replace(":", "#"));

 전체 코드 

package test1;

import java.util.ArrayList;
import java.util.Arrays;

public class Exam07 {
	public static void main(String[] args) {
		//1.변수
		int korean = 80;
		String english = "75";
		double math = 53;
		System.out.printf("평균: %.2f \n",(korean + Integer.parseInt(english)+math)/3);
		
		//2. 짝수 홀수 구분
		int[] source = {9,12,14,21,16,13};
		ArrayList<Integer> even = new ArrayList<>();
		ArrayList<Integer> odd = new ArrayList<>();
		for(int s: source) {
			if(s % 2 == 0) {
				even.add(s);
			}else {
				odd.add(s);
			}
		}
		System.out.println(even);
		System.out.println(odd);
		
		//3.역순 정렬 (선택 정렬) -> Arrays.sort()
		for(int i=0; i<source.length; i++) {
			for(int j=i+1; j<source.length; j++) {
				if(source[i] < source[j]) {
					int temp = source[i];
					source[i] = source[j];
					source[j]=temp;
				}
			}
		}
		System.out.println(Arrays.toString(source));
		
		//4. 주민번호 -> 생년월일 성별 
		String socialNumber = "990125-1234567";
		String[] sNums = socialNumber.split("-");
		int code = Integer.parseInt(sNums[1].substring(0,1));
		String birthDate = null;
		String gender = null;
		if(code == 1 || code == 2) {
			birthDate = "19" + sNums[0].substring(0,2);
			gender = code == 1? "남자":"여자";
		}else if (code == 3 || code == 4) {
			birthDate = "20" + sNums[0].substring(0,2);
			gender = code == 3? "남자":"여자";
		}
		System.out.println(birthDate+"년 "+ sNums[0].substring(2,4)+"월 "+ sNums[0].substring(4,6)+"일");
		
		//5. 문자열 치환
		String a = "a:b:c:d";
		System.out.println(a.replace(":", "#"));
	}
}
반응형

'Java > 코드' 카테고리의 다른 글

[Java] 숫자 야구 게임 만들기  (0) 2023.02.10