728x90
예제 1) 요구사항 : 인자로 받은 숫자들의 합을 구하는 메소드를 선언하시오.
- 조건
- void sum(int)
- void sum(int, int)
- void sum(int, int, int)
- void sum(int, int, int, int)
- void sum(int, int, int, int, int)
- 호출
- sum(10);
- sum(10, 20);
- sum(10, 20, 30);
- sum(10, 20, 30, 40);
- sum(10, 20, 30, 40, 50);
- 소스코드
package com.test.question;
public class Q0016 {
public static void main(String[] args) {
sum(10);
sum(10, 20);
sum(10, 20, 30);
sum(10, 20, 30, 40);
sum(10, 20, 30, 40, 50);
}//main
public static void sum(int a) {
System.out.printf("%d = %d\n", a, a );
}//sum(int)
public static void sum(int a, int b) {
int result = a+b;
System.out.printf("%d + %d = %d\n", a, b, result );
}//sum(int, int)
public static void sum(int a, int b, int c) {
int result = a+b+c;
System.out.printf("%d + %d + %d = %d\n", a, b, c, result );
}//sum(int, int, int)
public static void sum(int a, int b, int c, int d) {
int result = a+b+c+d;
System.out.printf("%d + %d + %d + %d = %d\n", a, b, c, d, result );
}//sum(int, int, int, int)
public static void sum(int a, int b, int c, int d, int e) {
int result = a+b+c+d+e;
System.out.printf("%d + %d + %d + %d + %d = %d\n", a, b, c, d, e, result );
}//sum(int, int, int, int, int)
}
- 실행결과
예제 2) 요구사항 : 인자로 받은 이름들을 직급 순으로 출력하는 메소드를 선언하시오.
- 조건
- 사원 → 대리 → 과장 → 부장
- void position(String)
- void position(String, String)
- void position(String, String, String)
- void position(String, String, String, String)
- 호출
- position("홍길동");
- position("홍길동", "유재석");
- position("홍길동", "유재석", "박명수");
- position("홍길동", "유재석", "박명수", "정형돈");
- 소스코드
package com.test.question;
public class Q0017 {
public static void main(String[] args) {
position("홍길동");
position("홍길동","유재석");
position("홍길동","유재석","박명수");
position("홍길동","유재석","박명수","정형돈");
}//main
public static void position(String s1) {
System.out.printf("사원 : %s\n\n", s1);
}//position (String s1)
public static void position(String s1, String s2) {
System.out.printf("사원 : %s\n", s1);
System.out.printf("대리 : %s\n\n", s2);
}//position (String s1, String s2)
public static void position(String s1, String s2, String s3) {
System.out.printf("사원 : %s\n", s1);
System.out.printf("대리 : %s\n", s2);
System.out.printf("과장 : %s\n\n", s3);
}//position (String s1, String s2, String s3)
public static void position(String s1, String s2, String s3, String s4) {
System.out.printf("사원 : %s\n", s1);
System.out.printf("대리 : %s\n", s2);
System.out.printf("과장 : %s\n", s3);
System.out.printf("부장 : %s\n", s4);
}//position (String s1, String s2, String s3, String s4)
- 실행결과
예제 3) 요구사항 : 인자로 받은 숫자들 중 양수의 갯수를 반환하는 메소드를 선언하시오.
- 조건
- int positive(int)
- int positive(int, int)
- int positive(int, int, int)
- int positive(int, int, int, int)
- int positive(int, int, int, int, int)
- 호출
- count = positive(10);
- count = positive(10, 20);
- count = positive(10, 20, -30);
- count = positive(10, 20, -30, 40);
- count = positive(10, 20, -30, 40, 50);
- 소스코드
package com.test.question;
public class Q0018 {
public static void main(String[] args) {
positive(10);
positive(10,20);
positive(10,20,-30);
positive(10,20,-30,40);
positive(10,20,-30,40,50);
}//main
public static void positive(int a) {
int count = a > 0 ? 1 : 0;
System.out.printf("양수 : %d개\n", count);
}//positive(int a)
public static void positive(int a, int b) {
int count = a > 0 ? 1 : 0;
count = b > 0 ? ++count : count;
System.out.printf("양수 : %d개\n", count);
}//positive(int a, int b)
public static void positive(int a, int b, int c) {
int count = a > 0 ? 1 : 0;
count = b > 0 ? ++count : count;
count = c > 0 ? ++count : count;
System.out.printf("양수 : %d개\n", count);
}//positive(int a, int b, int c)
public static void positive(int a, int b, int c, int d) {
int count = a > 0 ? 1 : 0;
count = b > 0 ? ++count : count;
count = c > 0 ? ++count : count;
count = d > 0 ? ++count : count;
System.out.printf("양수 : %d개\n", count);
}//positive(int a, int b, int c, int d)
public static void positive(int a, int b, int c, int d, int e) {
int count = a > 0 ? 1 : 0;
count = b > 0 ? ++count : count;
count = c > 0 ? ++count : count;
count = d > 0 ? ++count : count;
count = e > 0 ? ++count : count;
System.out.printf("양수 : %d개\n", count);
}//positive(int a, int b, int c, int d, int e)
}
- 실행결과
예제 4) 요구사항 : 현재 시간을 출력하는 메소드 선언하시오.
- 조건
- void nowTime()
- 현재 시간을 24시간으로 출력하시오.
- 현재 시간을 오전/오후로 출력하시오
- 호출
- nowTime();
- 소스코드
package com.test.question;
import java.util.Calendar;
public class Q0019 {
public static void main(String[] args) {
nowTime();
}//main
public static void nowTime() {
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute = now.get(Calendar.MINUTE);
int second = now.get(Calendar.SECOND);
System.out.printf("현재 시간 : %d시 %d분 %d초\n", hour, minute, second);
String when = now.get(Calendar.AM_PM) == 0? "오전" : "오후";
hour = now.get(Calendar.HOUR);
minute = now.get(Calendar.MINUTE);
second = now.get(Calendar.SECOND);
System.out.printf("현재 시간 : %s %d시 %d분 %d초\n", when, hour, minute, second);
}
}
- 실행결과
예제 5) 요구사항 : 오늘 태어난 아이의 백일과 첫돌을 출력하시오
- 소스코드
package com.test.question;
import java.util.Calendar;
public class Q0020 {
public static void main(String[] args) {
Calendar now = Calendar.getInstance();
Calendar born = Calendar.getInstance();
born.set(2023, 1, 8); //2월 8일 탄생
born.add(Calendar.DATE, 100); //100일 잔치
System.out.printf("백일잔치 : %tF\n", born);
born.set(2023, 1, 8);
born.add(Calendar.YEAR, 1); //생일 잔치
System.out.printf("백일잔치 : %tF\n", born);
}
}
- 실행결과
예제 6) 요구사항 : 태어난 년도를 입력하면 나이를 출력하시오
- 조건
- 올해를 기준으로 나이를 계산하시오.
- 내년, 내후년에 실행해도 그때에 맞는 나이를 출력한다.
- 우리나라 나이로 출력하시오.
- 입력
- 태어난 년도 : 1995
- 소스코드
package com.test.question;
import java.util.Calendar;
import java.util.Scanner;
public class Q0021 {
public static void main(String[] args) {
Calendar now = Calendar.getInstance();
Scanner scan = new Scanner(System.in);
System.out.print("태어난 년도를 입력하세요 : ");
int born = scan.nextInt();
int nowYear = now.get(Calendar.YEAR);
int age = nowYear - born+1;
System.out.printf("당신의 나이는 : %d 세", age);
}
}
- 실행결과
예제 7) 요구사항 : 남녀 커플의 이름과 만난날을 입력받아 기념일을 출력하시오.
- 조건
- 남자 이름: 하하하
- 여자 이름: 호호호
- 만난날(년): 2023
- 만난날(월): 2
- 만난날(일): 8
- 소스코드
package com.test.question;
import java.util.Calendar;
import java.util.Scanner;
public class Q0022 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Calendar now = Calendar.getInstance();
System.out.print("남자 이름 : ");
String boy = scan.next();
System.out.print("여자 이름 : ");
String girl = scan.next();
System.out.print("만난날(년) : ");
int year = scan.nextInt();
System.out.print("만난날(월) : ");
int month = scan.nextInt();
System.out.print("만난날(일) : ");
int day = scan.nextInt();
now.set(year, month-1, day);
System.out.printf("'%s'과(와) '%s'의 기념일\n",boy, girl);
now.add(Calendar.DATE, 100);
System.out.printf("100일 : %tF\n", now);
now.add(Calendar.DATE, 100);
System.out.printf("200일 : %tF\n", now);
now.add(Calendar.DATE, 100);
System.out.printf("300일 : %tF\n", now);
now.add(Calendar.DATE, 200);
System.out.printf("500일 : %tF\n", now);
now.add(Calendar.DATE, 500);
System.out.printf("1000일 : %tF\n", now);
}
}
- 실행결과
예제 8) 요구사항 : 아빠와 딸의 생일을 입력받아 아빠가 딸보다 며칠을 더 살았는지 출력하시오.
- 입력
- 아빠 생일(년): 1970
- 아빠 생일(월): 5
- 아빠 생일(일): 10
- 딸 생일(년): 1998
- 딸 생일(월): 7
- 딸 생일(일): 22
- 소스코드
package com.test.question;
import java.util.Calendar;
import java.util.Scanner;
public class Q0023 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Calendar Dad = Calendar.getInstance();
Calendar Daughter = Calendar.getInstance();
System.out.print("아빠 생일(년) : ");
int Dad_Year = scan.nextInt();
System.out.print("아빠 생일(월) : ");
int Dad_Month = scan.nextInt();
System.out.print("아빠 생일(일) : ");
int Dad_day = scan.nextInt();
System.out.print("딸 생일(년) : ");
int Daughter_Year = scan.nextInt();
System.out.print("딸 생일(월) : ");
int Daughter_Month = scan.nextInt();
System.out.print("딸 생일(일) : ");
int Daughter_day = scan.nextInt();
Dad.set(Dad_Year, Dad_Month-1, Dad_day);
Daughter.set(Daughter_Year, Daughter_Month-1, Daughter_day);
long DadTick = Dad.getTimeInMillis();
long DaughterTick = Daughter.getTimeInMillis();
System.out.printf("아빠는 딸보다 총 %,d일을 더 살았습니다.\n",
(DaughterTick - DadTick)/1000/60/60/24);
}
}
- 실행결과
예제 9) 요구사항 : 여러 배달 음식을 같은 시간에 받기를 원하는 고객이 있다. 고객이 각각의 매장에 몇시에 전화를 해야 모든 음식을 같은 시간에 받을 수 있는지 알려주시오.
- 조건
- 전화를 걸면 짜장면은 10분 뒤에 도착합니다.
- 전화를 걸면 치킨은 18분 뒤 도착합니다.
- 전화를 걸면 피자는 25분 뒤 도착합니다.
- 음식을 받기 원하는 시간은 오후 11시 이전에만 가능합니다.(날짜 변경 금지)
- 입력
- 음식을 받기 원하는 시각
- 시 : 20
- 분 : 22
- 소스코드
package com.test.question;
import java.util.Calendar;
import java.util.Scanner;
public class Q0024 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Calendar now = Calendar.getInstance();
System.out.println("음식을 받기 원하는 시각");
System.out.print("시 : ");
int hour = scan.nextInt();
System.out.print("분 : ");
int min = scan.nextInt();
now.set(Calendar.HOUR_OF_DAY, hour);
now.set(Calendar.MINUTE, min);
now.add(Calendar.MINUTE, -10);
System.out.printf("짜장면 : %d시 %d분\n",
now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE));
now.add(Calendar.MINUTE, -8);
System.out.printf("치킨 : %d시 %d분\n",
now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE));
now.add(Calendar.MINUTE, -7);
System.out.printf("피자 : %d시 %d분\n",
now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE));
}
}
- 실행결과
예제 10) 요구사항 : 숫자 2개를 입력받아 큰수와 작은수를 출력하시오.
- 조건
- 두 숫자가 얼마의 차이를 보이는지 출력하시오.
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0025 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("첫번째 숫자 : ");
int num1 = scan.nextInt();
System.out.print("두번째 숫자 : ");
int num2 = scan.nextInt();
if( num1 > num2) {
System.out.printf("큰수는 %d이고, 작은수는 %d입니다. 두 숫자는 %d(가)이 차이납니다.\n", num1, num2, (num1-num2) );
}else if (num1 < num2) {
System.out.printf("큰수는 %d이고, 작은수는 %d입니다. 두 숫자는 %d(가)이 차이납니다.\n", num2, num2, (num2-num1) );
}else {
System.out.println("두 숫자는 동일 합니다.");
}
}
}
- 실행결과
예제 11) 요구사항 : 학생의 국어 점수를 입력받아 성적을 출력하시오.
- 조건
- 90 ~ 100: A
- 80 ~ 89: B
- 70 ~ 79: C
- 60 ~ 69: D
- 0 ~ 59: F
- 유효성 검사를 하시오.(점수: 0 ~ 100점 이내)
- 입력
- 점수 : 85
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0026 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("점수를 입력하세요 : ");
int sum = scan.nextInt();
if((sum >= 90)&&(sum<=100)) {
System.out.printf("입력한 %d점은 성적 A입니다.\n", sum);
}else if((sum >=80)&&(sum<90)) {
System.out.printf("입력한 %d점은 성적 B입니다.\n", sum);
}else if((sum >=70)&&(sum<80)) {
System.out.printf("입력한 %d점은 성적 C입니다.\n", sum);
}else if((sum >=60)&&(sum<70)) {
System.out.printf("입력한 %d점은 성적 D입니다.\n", sum);
}else if((sum >=0 )&&(sum<=59)) {
System.out.printf("입력한 %d점은 성적 F입니다.\n", sum);
}else {
System.out.println("점수가 올바르지 않습니다. 0~100 사이의 값을 입력하시오.");
}
}
}
- 실행결과
예제 12) 요구사항 : 문자 1개를 입력받아 아래와 같이 출력하시오.
- 조건
- f, F → Father
- m, M → Mother
- s, S → Sister
- b, B → Brother
- 유효성 검사를 하시오.(위의 문자가 아닌 문자는 예외 처리)
- 입력
- 문자: f
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0027 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("문자를 입력하세요 : ");
String result = scan.next();
if(result.equals("f")||result.equals("F")) {
System.out.println("Father");
}else if(result.equals("m")||result.equals("M")) {
System.out.println("Mother");
}else if(result.equals("s")||result.equals("S")) {
System.out.println("Sister");
}else if(result.equals("b")||result.equals("B")) {
System.out.println("Brother");
}else {
System.out.println("입력한 문자가 올바르지 않습니다.");
}
}
}
- 실행결과
예제 13) 요구사항 : 근무 년수를 입력받아 아래와 같이 출력하시오
- 조건
- 1 ~ 4년차: 초급 개발자
- 5 ~ 9년차: 중급 개발자
- 10년차 이상: 고급 개발자
- 유효성 검사를 하시오.(1 미만 입력 예외 처리)
- 입력
- 근무 년수 : 2
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0028 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("근무년수 : ");
int work = scan.nextInt();
if((work>=1)&&(work<5)) {
System.out.printf("%d년차 초급 개발자입니다.\n", work );
System.out.printf("앞으로 %d년 더 근무를 하면 중급 개발자가 됩니다.",(5-work));
}else if((work>=5)&&(work<10)) {
System.out.printf("%d년차 중급 개발자입니다.\n", work );
System.out.printf("당신은 %d년전까지 초급 개발자였습니다.\n",(work-5) );
System.out.printf("앞으로 %d년 더 근무를 하면 고급 개발자가 됩니다.",(10-work));
}else if(work>=10) {
System.out.printf("%d년차 고급 개발자입니다.\n", work);
System.out.printf("당신은 %d년전까지 중급 개발자였습니다.", (work-9));
}else {
System.out.println("입력한 값이 올바르지 않습니다. 1이상의 값을 입력하세요.");
}
}
}
- 실행결과
예제 14) 요구사항 : 숫자 2개와 연산자 1개를 입력받아 연산 과정과 결과를 출력하시오.
- 조건
- 정수만 입력하시오.(유효성 검사 필요없음)
- 나머지 연산 결과는 소수이하 첫째자리까지 출력 하시오.
- 연산자는 산술 연산자(+, -, *, /, %)만 입력하시오.
- 입력
- 첫번째 숫자: 5
- 두번째 숫자: 3
- 연산자: *
- 소스코드
package com.test.question;
import java.util.Scanner;
public class Q0029 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("첫번째 숫자 : ");
int num1 = scan.nextInt();
System.out.print("두번째 숫자 : ");
int num2 = scan.nextInt();
System.out.print("연산자 : ");
String num3 = scan.next();
switch(num3) {
case("+"):
System.out.printf("%d + %d = %d", num1, num2,(num1+num2));
break;
case("-"):
System.out.printf("%d - %d = %d", num1, num2,(num1-num2));
break;
case("*"):
System.out.printf("%d * %d = %d", num1, num2,(num1*num2));
break;
case("/"):
System.out.printf("%d / %d = %.1f", num1, num2,(double)(num1/num2));
break;
case("%"):
System.out.printf("%d %% %d = %d", num1, num2,(num1%num2));
break;
default:
System.out.println("연산이 불가능 합니다.");
}
}
}
- 실행결과
728x90
'자바' 카테고리의 다른 글
JAVA STEP 18. if문 & for문 예제 모음 (0) | 2023.02.09 |
---|---|
JAVA STEP 17. for문 (0) | 2023.02.09 |
JAVA STEP 15. if&switch (0) | 2023.02.08 |
JAVA STEP 14. DateTime (0) | 2023.02.08 |
JAVA STEP 13. Method 예제 모음 (0) | 2023.02.07 |