yoni
[14] 다양한 메소드의 리턴 실습 ★ 본문
[과제 1] 하나의 수를 전달하여 짝수인지 홀수인지 판별하는 프로그램을 제작하세요.
[실행 화면]
수: 12
판정: 짝수
수: 11
판정: 홀수
판정: 짝수
수: 11
판정: 홀수
- System.out.println() 사용하면 안됩니다.
- evenodd(...) 메소드
input : 숫자 1개
process: 짝수인지 홀수인지 판단, 2로 나누어 나머지가 0이면 짝수, 그렇지 않으면 홀수
return : "짝수" 또는 "홀수"
-----------------------------------------------------------------------------------
▷ /src/oop/EvenOddUse.java
- main() 메소드 생성
package oop;
public class EvenOdd {
public String evenodd(int su) {
String str = "";
if (su % 2 == 0){
str = "짝수";
} else {
str = "홀수";
}
return str;
}
}
-----------------------------------------------------------------------------------
▷ /src/oop/EvenOddUse.java
- main() 메소드 생성
-----------------------------------------------------------------------------------
[실행 화면]
- calc(...) 메소드
package oop;
public class EvenOddUse {
public static void main(String[] args) {
EvenOdd evenOdd = new EvenOdd();
int su = 12;
String str = evenOdd.evenodd(su);
System.out.println("수: " + su);
System.out.println("판정: " + str);
}
}
-----------------------------------------------------------------------------------
[과제 2] 두개의 수를 전달하여 범위를 구하는 프로그램을 제작하세요.
[실행 화면]
70
7
-----
63
7
70
-----
63
7
-----
63
7
70
-----
63
▷ /src/oop/Range.java
- System.out.println() 사용하면 안됩니다.- calc(...) 메소드
input : 숫자 2개
process: 범위를 구합니다. 음수 발생시 양수로 변경하여 처리합니다.
return : 정수
[실행 화면]
▷ /src/oop/Times.java
- System.out.println() 사용하면 안됩니다.
- count(...) 메소드
process: 범위를 구합니다. 음수 발생시 양수로 변경하여 처리합니다.
return : 정수
-----------------------------------------------------------------------------------
▷ /src/oop/RangeUse.java
- main() 메소드 생성
package oop;
public class Range {
public int calc(int i, int j) {
int range = 0;
range = i - j;
if(range < 0){
range = range * -1;
}
return range;
}
}
-----------------------------------------------------------------------------------
▷ /src/oop/RangeUse.java
- main() 메소드 생성
-----------------------------------------------------------------------------------
package oop;
public class RangeUse {
public static void main(String[] args) {
Range range = new Range();
int val= range.calc(7, 70);
System.out.println(7);
System.out.println(70);
System.out.println("-----");
System.out.println(val);
System.out.println();
val= range.calc(70, 7);
System.out.println(70);
System.out.println(7);
System.out.println("-----");
System.out.println(val);
}
}
-----------------------------------------------------------------------------------
[실행 화면]
▷ /src/oop/Sum.java
- System.out.println() 사용하면 안됩니다.
- hap(...) 메소드
[과제 3] 하나의 수를 전달하여 1부터 전달된 수까지의 합을 구하는 프로그램을 제작하세요.
[실행 화면]
i=1
sum=1
i=2
sum=3
i=3
sum=6
1부터 3까지의 합: 6
i=1
sum=1
i=2
sum=3
i=3
sum=6
i=4
sum=10
i=5
sum=15
1부터 5까지의 합: 15
- System.out.println() 사용하면 안됩니다.
- hap(...) 메소드
input : 숫자 1개
process: for문을 이용하여 1부터 주어진수까지의 합을 구합니다.
return : 정수
process: for문을 이용하여 1부터 주어진수까지의 합을 구합니다.
return : 정수
-----------------------------------------------------------------------------------
▷ /src/oop/SumUse.java
- main() 메소드 생성
package oop;
public class Sum {
public int hap(int no) {
int sum = 0;
for (int i=1; i<= no; i++) {
sum = sum + i;
}
return sum;
}
}
-----------------------------------------------------------------------------------
▷ /src/oop/SumUse.java
- main() 메소드 생성
-----------------------------------------------------------------------------------
package oop;
public class SumUse {
public static void main(String[] args) {
Sum sum = new Sum();
int hap = 0;
hap = sum.hap(3);
System.out.println("1부터 3까지의 합: " + hap);
System.out.println();
hap = sum.hap(5);
System.out.println("1부터 5까지의 합: " + hap);
}
}
-----------------------------------------------------------------------------------
[과제 4] 하나의 수를 전달하여 1부터 그 수까지 2, 3, 4의 배수의 갯수를 구하는
프로그램을 제작하세요.
프로그램을 제작하세요.
[실행 화면]
1부터 2016까지 2, 3, 4의 배수의 갯수: 168
- System.out.println() 사용하면 안됩니다.
- count(...) 메소드
input : 숫자 1개
process: for문을 이용하여 1부터 주어진수까지 2, 3, 4의 배수의 갯수를 구합니다.
return : 정수
[과제 5] 월을 전달하면 영어로 변환된 단어를 리턴하는 프로그램을 제작하세요. process: for문을 이용하여 1부터 주어진수까지 2, 3, 4의 배수의 갯수를 구합니다.
return : 정수
-----------------------------------------------------------------------------------
▷ /src/oop/TimesUse.java
- main() 메소드 생성
package oop;
public class Times {
int count = 0;
for (int i=1; i<= no; i++){
if(i % 2 == 0 && i % 3 == 0 && i % 4 == 0){
count = count + 1;
}
}
return count;
}
-----------------------------------------------------------------------------------
▷ /src/oop/TimesUse.java
- main() 메소드 생성
-----------------------------------------------------------------------------------
package oop;
public class TimesUse {
public static void main(String[] args) {
Times times = new Times();
int count = times.count(2016);
System.out.println("1부터 2016까지의 2,3,4의 배수의 갯수: " + count);
}
}
-----------------------------------------------------------------------------------
1) translation(...) 메소드
input : int형 숫자 월
process: 숫자를 영어로 변역
return : 영어로 번역된 문자열 리턴
▷ /src/oop/Month.java
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
- if ~else 문을 생략하거나 사용 할 수 있습니다.
- 메소드명은 자유롭게 지정합니다.
process: 숫자를 영어로 변역
return : 영어로 번역된 문자열 리턴
1월 - January (Jan.)
2월 - February (Feb.)
3월 - March (Mar.)
4월 - April (Apr.)
5월 - May
6월 - June (Jun.)
7월 - July (Jul.)
8월 - August (Aug.)
9월 - September (Sept.)
10월 - October (Oct.)
11월 - November (Nov.)
12월 - December (Dec.)
2) 배열 값으로 나열한 형태
"January", "February", "March", "April", "May", "June", "Juliy", "August", "Setember", "October", "November", "December"
[실행 화면]
1월: January
2월: February
3월: March
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
- if ~else 문을 생략하거나 사용 할 수 있습니다.
- 메소드명은 자유롭게 지정합니다.
-----------------------------------------------------------------------------------
▷ /src/oop/MonthUse.java
package oop;
public class Month {
public String translation(int month) {
// 0 ~
String[] months = {"January", "February", "March", "April", "May", "June", "Juliy", "August", "Setember", "October", "November", "December"};
return months[month-1];
}
}
-----------------------------------------------------------------------------------
▷ /src/oop/MonthUse.java
- 변수를 메소드로 전달하고 값을 리턴받아 출력, Cally By Value
- main() 메소드 생성
- main() 메소드 생성
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
package oop;
public class MonthUse {
public static void main(String[] args) {
Month month = new Month();
String mon = month.translation(1);
System.out.println("1월: " + mon);
mon = month.translation(2);
System.out.println("2월: " + mon);
mon = month.translation(3);
System.out.println("3월: " + mon);
}
}
프로그램을 제작하세요.
[조건]
평균 60점 이상이면 합격, 미만은 불합격
[실행 화면]
평가 점수: 90 100 95
결과 -> 합격
평가 점수: 50 50 50
결과 -> 불합격
▷ /src/oop/Pass.java
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
- 메소드명은 자유롭게 지정합니다.
- 정수 3개를 메소드로 전달합니다.
[조건]
평균 60점 이상이면 합격, 미만은 불합격
[실행 화면]
평가 점수: 90 100 95
결과 -> 합격
평가 점수: 50 50 50
결과 -> 불합격
▷ /src/oop/Pass.java
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
- 메소드명은 자유롭게 지정합니다.
- 정수 3개를 메소드로 전달합니다.
-----------------------------------------------------------------------------------
package oop;
public class Pass {
public String test(int java, int html5, int jsp) {
String result = "";
int tot = java + html5 + jsp;
int avg = tot / 3;
if (avg >= 60){
result = "합격";
} else {
result = "불합격";
}
return result;
}
}
-----------------------------------------------------------------------------------
▷ /src/oop/PassUse.java
- main() 메소드 생성
- main() 메소드 생성
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
package oop;
public class PassUse {
public static void main(String[] args) {
Pass pass = new Pass();
String result = pass.test(90, 100, 95);
System.out.println("평가 점수: 90, 100, 95");
System.out.println("결과 -> " + result);
System.out.println();
System.out.println("결과 -> " + result);
System.out.println();
result = pass.test(50, 50, 50);
System.out.println("평가 점수: 50, 50, 50");
System.out.println("결과 -> " + result);
}
}
-----------------------------------------------------------------------------------
[과제 7] 적금 계산 프로그램을 제작하세요.
1. 메소드로 값을 전달하여 수령할 금액을 return 받아 출력합니다.
1) deposit(...) 메소드
input : 금액, 개월 ← argument, 인수
process: 수령액 = 금액 * 개월
return : 수령액
2) home(...) 메소드
process: 수령액 = 금액 * 개월
return : 수령액
2) home(...) 메소드
input : 주택 가격 ← argument, 인수
process: 매달 수령하는 주택 연금 = 주택 가격의 3.9 % / 12
return : 매달 수령하는 주택 연금
[실행 화면]
▷ /src/oop/Calc.java
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
process: 매달 수령하는 주택 연금 = 주택 가격의 3.9 % / 12
return : 매달 수령하는 주택 연금
[실행 화면]
1) 20 만원, 12 개월: 2400000 원
2) 30 만원, 12 개월: 3600000 원
3) 1억 5천만원 주택 연금 수령액: 487500 원
4) 2억원 주택 연금 수령액: 650000 원
5) 2억 5천만원 주택 연금 수령액: 812500 원
6) 3억 5천만원 주택 연금 수령액: 1137500 원
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
-----------------------------------------------------------------------------------
▷ /src/oop/CalcUse.java
package oop;
public class Calc {
public int deposit(int money, int month) {
int tot = money * month;
return tot;
}
public int home(int price) {
double price2 = price * 0.039;
int month = (int) (price2 / 12);
return month;
}
}
-----------------------------------------------------------------------------------
▷ /src/oop/CalcUse.java
- 변수를 메소드로 전달하고 값을 리턴받아 출력, Cally By Value
- main() 메소드 생성
-----------------------------------------------------------------------------------
- main() 메소드 생성
-----------------------------------------------------------------------------------
package oop;
public class CalcUse {
public static void main(String[] args) {
Calc calc = new Calc();
int deposit = calc.deposit(200000, 12);
System.out.println("1) 20 만원, 12 개월: "+deposit+" 원");
deposit = calc.deposit(300000, 12);
System.out.println("2) 30 만원, 12 개월: "+deposit+" 원");
// int receive = calc.home(150000000);
// System.out.println("3) 1억 5천만원 주택 연금 수령액: " + receive + " 원");
// receive = calc.home(200000000);
// System.out.println("4) 2억원 주택 연금 수령액: " + receive + " 원");
//
// receive = calc.home(250000000);
// System.out.println("5) 2억 5천만원 주택 연금 수령액: " + receive + " 원");
//
// receive = calc.home(350000000);
// System.out.println("6) 3억 5천만원 주택 연금 수령액: " + receive + " 원");
}
}
[과제 8] BigIssue 판매액을 구하는 프로그램을 제작하세요.
* BigIssue는 노숙자가 판매하는 잡지로 판매액의 50%가 판매인에게 지급됩니다.
[실행 화면]
종각역: 20000 수당: 10000
영풍문고: 30000 수당: 15000
종로3가: 25000 수당 12500
▷ /src/oop/Issue.java
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
- 판매액을 받아 50%의 수당을 리턴하는 메소드를 제작하세요.
- 메소드명은 자유롭게 지정합니다.
[실행 화면]
종각역: 20000 수당: 10000
영풍문고: 30000 수당: 15000
종로3가: 25000 수당 12500
▷ /src/oop/Issue.java
- 출력을 구현하지 않습니다. System.out.println() 사용하면 안됩니다.
- 판매액을 받아 50%의 수당을 리턴하는 메소드를 제작하세요.
- 메소드명은 자유롭게 지정합니다.
-----------------------------------------------------------------------------------
package oop;
public class Issue {
public int sale(int amount) {
int tot = (int) (amount * 0.5);
return tot;
}
}
-----------------------------------------------------------------------------------
▷ /src/oop/IssueUse.java
- main() 메소드 생성
- main() 메소드 생성
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
package oop;
public class IssueUse {
public static void main(String[] args) {
int amount = 0; // 판매 금액
int su = 0; // 판매 수당
Issue issue = new Issue();
amount = 20000;
su = issue.sale(amount);
System.out.println("종각역: " + amount + " 수당: " + su);
amount = 30000;
su = issue.sale(amount);
System.out.println("영풍문고: " + amount + " 수당: " + su);
amount = 25000;
su = issue.sale(amount);
System.out.println("종로3가: " + amount + " 수당: " + su);
}
}
'java of educational by contents' 카테고리의 다른 글
중간점검 test (0) | 2018.12.01 |
---|---|
[15][OOP] Constructor(생성자) (0) | 2018.12.01 |
[13][OOP] 값을 리턴하는 메소드, 문자열의 리턴, 숫자의 리턴 ★ (0) | 2018.12.01 |
3회차 code (0) | 2018.12.01 |
[11][OOP] 클래스 선언, 객체 생성, 필드(변수)의 사용, 필드(변수)의 사용 실습 (0) | 2018.12.01 |
Comments