반응형
class Main {
	public static void main(String[] args) {
		사람인력관리소 a사람인력관리소 = new 사람인력관리소();
		
		a사람인력관리소.add사람("홍길순", 33);
		// 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다.
		a사람인력관리소.add사람("홍길동", 20);
		// 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽정", 30);
		// 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다.
		
		사람 a사람1 = a사람인력관리소.get사람(1);
		a사람1.자기소개();
		// 저는 1번, 홍길순, 33살 입니다.
		
		사람 a사람2 = a사람인력관리소.get사람(2);
		a사람2.자기소개();
		// 저는 2번, 홍길동, 20살 입니다.
		
		사람 a사람3 = a사람인력관리소.get사람(3);
		a사람3.자기소개();
		// 저는 3번, 임꺽정, 30살 입니다.
	}
}
class 사람인력관리소 {
	사람 a처음_사람;
	int 마지막_추가_사람번호;
	void add사람(String 이름, int 나이) {
		사람 a사람 = new 사람();
		a사람.이름 = 이름;
		a사람.나이 = 나이;
		a사람.번호 = 마지막_추가_사람번호 + 1;
		
		System.out.printf("나이가  %d살인 %d번째 사람(%s)이 추가되었습니다.\n", a사람.나이, a사람.번호, a사람.이름);
		
		if ( a사람.번호 == 1 ) {
			a처음_사람 = a사람;
		} 
		else if ( a사람.번호 == 2 ) {
			a처음_사람.a다음_사람 = a사람;
		}
		else if ( a사람.번호 == 3 ) {
			a처음_사람.a다음_사람.a다음_사람 = a사람;
		} 
		마지막_추가_사람번호 = a사람.번호;
	}
	사람 get사람(int 번호) {
		사람 a사람 = null;
		if ( 번호 == 1 ) {
			a사람 = a처음_사람;
		}
		else if ( 번호 == 2 ) {
			a사람 = a처음_사람.a다음_사람;
		}
		else if ( 번호 == 3 ) {
			a사람 = a처음_사람.a다음_사람.a다음_사람;
		}
		return a사람;
	}
}
class 사람 {
	String 이름;
	int 나이;
	int 번호;
	사람 a다음_사람;
	void 자기소개() {
		System.out.printf("저는 %d번, %s, %d살 입니다.\n", 번호, 이름, 나이);
	}
}
반응형

'기타' 카테고리의 다른 글

아스키코드 관련 대,소문자 변환 등  (0) 2020.05.04
년도 및 현재 날짜, 시간 계산 (Calendar)  (0) 2020.05.04
자바 인력관리소  (0) 2020.04.28
자바 큰 수의 사칙연산  (0) 2020.04.28
이클립스 사용방법  (0) 2020.04.27
반응형

1. 일반적인 풀이.

//조건 : 배열을 사용할 수 없습니다.
class Main {
	public static void main(String[] args) {
		사람인력관리소 a사람인력관리소 = new 사람인력관리소();
		
		a사람인력관리소.add사람("홍길순", 33);
		// 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다.
		a사람인력관리소.add사람("홍길동", 20);
		// 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽정", 30);
		// 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다.
		
		사람 a사람1 = a사람인력관리소.get사람(1);
		a사람1.자기소개();
		// 저는 1번, 홍길순, 33살 입니다.
		
		사람 a사람2 = a사람인력관리소.get사람(2);
		a사람2.자기소개();
		// 저는 2번, 홍길동, 20살 입니다.
		
		사람 a사람3 = a사람인력관리소.get사람(3);
		a사람3.자기소개();
		// 저는 3번, 임꺽정, 30살 입니다.
	}
}
class 사람인력관리소 {
	사람 a사람1;
	사람 a사람2;
	사람 a사람3;
	int 마지막_추가된_사람번호;
	
	
	void add사람(String 이름, int 나이) {
		사람 a사람 = new 사람();
		a사람.이름 = 이름;
		a사람.나이 = 나이;
		a사람.번호 = 마지막_추가된_사람번호 + 1;
		
		System.out.printf("나이가 %d살인 %d번째 사람(%s)이 추가되었습니다.\n", a사람.나이, a사람.번호, a사람.이름);
		
		if ( a사람.번호 == 1 ) {
			a사람1 = a사람;
		}
		else if ( a사람.번호 == 2 ) {
			a사람2 = a사람;
		}
		else if ( a사람.번호 == 3 ) {
			a사람3 = a사람;
		}
		마지막_추가된_사람번호 = a사람.번호;
	}
	사람 get사람(int 번호) {
		사람 a사람 = null;
		if ( 번호 == 1 ) {
			a사람 = a사람1;
		}
		else if ( 번호 == 2 ) {
			a사람 = a사람2;
		}
		else if ( 번호 == 3 ) {
			a사람 = a사람3;
		}
		return a사람;
	}
}
class 사람 {
	String 이름;
	int 나이;
	int 번호;
	void 자기소개() {
		System.out.printf("저는 %d번, %s, %d살 입니다.\n", 번호, 이름, 나이);
	}
}

2. 배열을 이용한 풀이.

//배열을 사용한 방법
class Main {
	public static void main(String[] args) {
		사람인력관리소 a사람인력관리소 = new 사람인력관리소();
		
		a사람인력관리소.add사람("홍길순", 33);
		// 나이가 33살인 1번째 사람(홍길순)이 추가되었습니다.
		a사람인력관리소.add사람("홍길동", 20);
		// 나이가 20살인 2번째 사람(홍길동)이 추가되었습니다.
		a사람인력관리소.add사람("임꺽정", 30);
		// 나이가 30살인 3번째 사람(임꺽정)이 추가되었습니다.
		
		사람 a사람1 = a사람인력관리소.get사람(1);
		a사람1.자기소개();
		// 저는 1번, 홍길순, 33살 입니다.
		
		사람 a사람2 = a사람인력관리소.get사람(2);
		a사람2.자기소개();
		// 저는 2번, 홍길동, 20살 입니다.
		
		사람 a사람3 = a사람인력관리소.get사람(3);
		a사람3.자기소개();
		// 저는 3번, 임꺽정, 30살 입니다.
	}
}
class 사람인력관리소 {
	사람[] 사람들;
	int 마지막_사람번호;
	
	사람인력관리소() {
		마지막_사람번호 = 0;
		사람들 = new 사람[100];
	}
	
	void add사람(String 이름, int 나이) {
		int 번호 = 마지막_사람번호 + 1;
		사람 a사람 = new 사람();
		a사람.이름 = 이름;
		a사람.나이 = 나이;
		a사람.번호 = 번호;
		
		사람들[번호-1] = a사람;
		System.out.printf("나이가 %d살인 %d번째 사람(%s)이 추가되었습니다.\n", a사람.나이, a사람.번호, a사람.이름);
		
		마지막_사람번호 = a사람.번호;
	}
	사람 get사람(int 번호) {
		return 사람들[번호-1];
	}
}
class 사람 {
	String 이름;
	int 나이;
	int 번호;
	void 자기소개() {
		System.out.printf("저는 %d번, %s, %d살 입니다.\n", 번호, 이름, 나이);
	}
}
반응형

'기타' 카테고리의 다른 글

년도 및 현재 날짜, 시간 계산 (Calendar)  (0) 2020.05.04
인력관리소(링크드 리스트 이용)  (0) 2020.04.29
자바 큰 수의 사칙연산  (0) 2020.04.28
이클립스 사용방법  (0) 2020.04.27
거품 정렬(Bubble sort)이란?  (0) 2020.04.24
반응형

*자바 큰 수 사칙연산 (BigInteger)

1. 큰 수의 덧셈 ( add )

import java.util.Scanner;
import java.math.BigInteger;
class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		BigInteger num1 = scanner.nextBigInteger();
		BigInteger num2 = scanner.nextBigInteger();
		scanner.close();
		
		BigInteger temp = num1.add(num2);
		System.out.println(temp);
	}
}

 

2. 큰 수의 뺄셈 ( subtract )

import java.util.Scanner;
import java.math.BigInteger;
class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		BigInteger num1 = scanner.nextBigInteger();
		BigInteger num2 = scanner.nextBigInteger();
		scanner.close();
		
		BigInteger temp = num1.subtract(num2);
		System.out.println(temp);
	}
}

3. 큰 수의 곱셈 ( multiply )

import java.util.Scanner;
import java.math.BigInteger;
class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		BigInteger num1 = scanner.nextBigInteger();
		BigInteger num2 = scanner.nextBigInteger();
		scanner.close();
		
		BigInteger temp = num1.multiply(num2);
		System.out.println(temp);
	}
}

4. 큰 수의 나눗셈 ( divide )

import java.util.Scanner;
import java.math.BigInteger;
class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		BigInteger num1 = scanner.nextBigInteger();
		BigInteger num2 = scanner.nextBigInteger();
		scanner.close();
		
		BigInteger temp = num1.divide(num2);
		System.out.println(temp);
	}
}
반응형

'기타' 카테고리의 다른 글

인력관리소(링크드 리스트 이용)  (0) 2020.04.29
자바 인력관리소  (0) 2020.04.28
이클립스 사용방법  (0) 2020.04.27
거품 정렬(Bubble sort)이란?  (0) 2020.04.24
지역 변수와 인스턴스 변수란?  (0) 2020.04.24
반응형

 

 

반응형

'기타' 카테고리의 다른 글

자바 인력관리소  (0) 2020.04.28
자바 큰 수의 사칙연산  (0) 2020.04.28
거품 정렬(Bubble sort)이란?  (0) 2020.04.24
지역 변수와 인스턴스 변수란?  (0) 2020.04.24
클래스와 객체란?  (0) 2020.04.24

+ Recent posts