본문 바로가기

자바

JAVA - 0415

1번 - 합계 구하기

package sevenClass;

public class Test0415_01 {
	public static void main(String[] args) {
		CalSum cal1 = new CalSum(3, 5);
		CalSum cal2 = new CalSum(3, 4, 5);
		
		System.out.printf("두 수의 합은 : %d\n", cal1.sum(cal1.op1, cal1.op2));
		System.out.printf("세 수의 합은 : %d\n", cal1.sum(cal2.op1, cal2.op2, cal2.op3));
	}
}

class CalSum{
	int op1, op2, op3;
	CalSum(){}
	CalSum(int o1, int o2){
		this.op1 = o1;
		this.op2 = o2;
	}
	CalSum(int o1, int o2, int o3){
		this.op1 = o1;
		this.op2 = o2;
		this.op3 = o3;
	}
	
	int sum(int a, int b) { return (a+b); }
	int sum(int a, int b, int c) { return (a+b+c); }
}

 

 

CalSum

기본 변수 생성

매개인자가 없는, 2개 있는, 3개 있는 생성자 생성

 

int값을 return하는 int sum 매소드 생성

 - 매개인자의 합을 계산하여 int값으로 반환

 

Main

cal1, cal2 객체 생성

각각의 변수를 통하여 합계를 반환받아서 출력하는 코드 생성

 

 

2번 - 날짜 출력

package sevenClass;

public class Test0415_02 {
	public static void main(String[] args) {
		DatePrint dp1 = new DatePrint(2024, 4, 15);
		System.out.println(dp1.print());
		System.out.println(dp1.print2());
	}
}


class DatePrint{
	int year; int month; int day;
	DatePrint(){}
	DatePrint(int y, int m, int d){
		this.year = y;
		this.month = m;
		this.day = d;
	}
	
	String print() {
		if(this.month < 10) {
			return this.year + "년 " + "0" + this.month + "월 " + this.day + "일";
		}
		else {
			return this.year + "년 " + this.month + "월 " + this.day + "일";
		}
	}
	
	String print2() {
		if(this.month < 10) {
			return this.year + "-" + "0" + this.month + "-" + this.day;
		}
		else {
			return this.year + "-" + this.month + "-" + this.day;
		}
	}
}

 

 

DatePrint

매개인자가 없는, 3개의 매개인자를 필요로하는 생성자 생성

 

날짜를 지정된 양식에 맞춰서 가공 후 반환하는 String print(), String print2() 매소드 생성

 - month가 10보다 작으면 앞에 0을 붙여서 return 예) 4 -> 04

 

Main

가공하고싶은 날짜를 담아서 객체 생성

가공할 양식과 알맞은 매소드 호출 후 return받은 값을 출력

 

 

3번 - 거꾸로 출력하기

package sevenClass;

public class Test0415_03 {
	public static void main(String[] args) {
		StrRe s1 = new StrRe("abcdefg");
		s1.StrReverse();
	}
}


class StrRe{
	String str = "";
	StrRe(){}
	StrRe(String s){
		this.str = s;
	}
	
	void StrReverse(){
		for(int i = this.str.length() - 1; i >= 0; i--) {
			System.out.print(this.str.charAt(i));
		}
		System.out.println();
	}
}

 

 

StrRe

기본 문자열 변수 생성

매개인자가 필요없는, 매개인자를 필요로하는 생성자 생성

 

거꾸로 출력하는 void StrReverse() 매소드 생성

 - 전달받은 매개인자를 거꾸로 출력하는 코드

 

Main

매개인자를 보내는 s1 객체 생성

거꾸로 출력하는 StrReverse() 매소드 호출

 

4번 - 허수 출력

package sevenClass;

public class Test0415_04 {
	public static void main(String[] args) {
		ImgNum in = new ImgNum(3, 2);
		in.PrintImgNum();
	}
}


class ImgNum{
	int a = 0; int b = 0;
	ImgNum(){}
	ImgNum(int a){
		this.a = a;
	}
	ImgNum(int a, int b){
		this.a = a;
		this.b = b;
	}
	
	void PrintImgNum(){
		if(this.a == 0) {
			System.out.printf("%di", this.b);
		}
		else if(this.b == 0) {
			System.out.printf("%d", this.a);
		}
		else {
			System.out.printf("%d + %di", this.a, this.b);
		}
	}
}

 

 

ImgNum

기본 변수 생성

매개인자가 없는, 매개인자가 1개인, 매개인자가 2개인 생성자 생성

 

전달받은 매개인자에 따라 허수를 출력하는 void PrintImgNum() 메소드 생성

 - 실수부와 허수부의 유무를 판단 후 양식에 맞게 출력 예) 실수부가 없으면 : 4i, 허수부가 없으면 : 1, 둘 다 있으면 1 + 2i

 

 

Main

실수부와 허수부를 둘 다 매개인자로 보내는 in 객체 생성

양식에 맞게 출력하는 PrintImgNum() 메소드 호출

 

 

5번 - 자음, 모음 개수 출력

package sevenClass;
import java.util.Scanner;

public class Test0415_05 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		JaumMum j1 = new JaumMum(scan.next());
		
		j1.Print();
        
        scan.close();
	}
}


class JaumMum{
	char[] gather = {'a', 'e', 'i', 'o', 'u'};
	String str;
	JaumMum(){}
	JaumMum(String s){
		this.str = s;
	}
	
	void Print(){
		int cnt_1 = 0; int cnt_2 = 0;
		boolean flag = false;
		for(int i = 0; i < str.length(); i++) {
			for(int j = 0; j < gather.length; j++) {
				if(gather[j] == str.charAt(i)){
					cnt_1 ++;
					flag = true;
					break;
				}
			}
			if(!flag) {
				cnt_2 ++;
			}
			flag = false;
		}
		System.out.printf("자음의 개수는 %d개 모음의 개수는 %d개", cnt_1, cnt_2);
	}
}

 

 

JaumMum

모음 char배열 생성

기본 String 변수 생성

매개인자가 없는, 매개인자가 1개 있는 생성자 생성

 

자음, 모음 개수를 파악하고 출력하는 void Print() 매소드 생성

 - 자음의 개수를 저장하는 cnt_2 모음의 개수를 저장하는 cnt_1 변수 생성

 - 자음인지 모음인지를 저장하는 flag변수 생성 예) flag가 true면 모음

 

 - 전부 계산하고 개수 출력

 

Main

매개인자를 입력받아 전송하는 j1객체 생성

개수를 출력하는 Print() 매소드 호출

 

 

6번 - 사용자 처리

package sevenClass;
import java.util.Scanner;

public class Test0415_06 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.print("사용자 이름을 입력: ");
		String loginId = scan.next();
		
		LoginUser l1 = new LoginUser(loginId);
		l1.Login();
	}
}


class LoginUser{
	String Id;
	String[] user = {"admin", "root", "lee", "kim"};
	LoginUser(){}
	LoginUser(String i){
		this.Id = i;
	}
	
	void Login() {
		boolean flag = false;
		for(int i = 0; i < user.length; i++) {
			if(Id.equals(user[i])) {
				System.out.println("인증된 사용자입니다.");
				flag = !flag;
				break;
			}
		}
		if(!flag) {
			System.out.println("비인가 사용자입니다.");
		}
	}
}

 

 

LoginUser

기본 변수 생성

인증된 아이디 배열 생성

매개인자가 필요없는, 매개인자가 1개있는 생성자 생성

 

인증된 사용자인지 아닌지 판단하여 출력하는 void Login() 메소드 생성

 - 인증된 사용자인지 아닌지 판단하기 위한 flag변수 생성 예) flag가 true면 인증된 사용자

 - 인증된 사용자 배열과 사용자 이름을 비교하여 맞는지 아닌지 판단 - 만약 맞으면 즉시 반복 중단 후 출력

 - flag가 false이면 '비인가 사용자입니다.' 출력 후 프로그램 종료

 

Main

사용자 이름을 입력하라는 알림 출력

사용자가 입력한 이름을 저장 후 그것을 매개인자로 사용하여 l1객체 생성

 

인증된 사용자가 맞는지 판단하는 Login() 매소드 호출

 

 

7번 - km to mile, mile to km

package sevenClass;
import java.util.Scanner;

public class Test0415_07 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		double unitNo = scan.nextDouble();
		
		UnitChange uc1 = new UnitChange(unitNo);
		
		uc1.KmToMile();
		uc1.MileToKm();
		
		scan.close();
	}
}

class UnitChange{
	double num;
	double num_2;
	UnitChange(){}
	UnitChange(double k){
		this.num = k;
	}
	
	void KmToMile() {
		this.num_2 = num * 1.6;
		System.out.printf("%.3fkm = %.3fmile\n", this.num, this.num_2);
	}
	
	void MileToKm() {
		this.num_2 = num / 1.6;
		System.out.printf("%.3fmile = %.3fkm\n", this.num, this.num_2);
	}
}

 

 

UnitChange

기본 변수 생성

매개인자가 없는, 매개인자가 1개 있는 생성자 생성

 

변환을 해서 출력하는 void KmToMile(), void MileToKm() 매소드 생성

 - 변환 후 출력

 

Main

변환할 수를 입력받고 변환하여 출력하는 매소드 호출

 

 

 

 

2024.04.11 - [자바] - JAVA - 0411

 

JAVA - 0411

1번 - 삼각형 넓이 구하기 package sevenClass; public class Test0411_01 { public static void main(String[] args) { Triangle t1 = new Triangle(5.0, 7.5); t1.area(); System.out.printf("삼각형의 넓이는: %.3f\n", t1.area2()); } } class Triangle{

conewbie.tistory.com

 

'자바' 카테고리의 다른 글

JAVA - 0516  (0) 2024.05.16
JAVA - 0509  (0) 2024.05.09
JAVA-0502  (0) 2024.05.02
JAVA - 0422  (0) 2024.04.22
JAVA - 0411  (0) 2024.04.11