일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sqld grant
- sqld 자격증
- sqld revoke
- java
- SQLD 자격시험 개념정리
- sqld remame
- sqld 옵티마이져
- Java Cat
- java string
- java 함수
- PLSQL
- SQLD 옵티마이저
- java 논리연산자
- JAVA 연산자
- sqld deny
- java 로또
- JAVA 제어문
- SQL
- SQLD 특강
- java 성별
- Java 메소드
- JAVA for문
- java Fish
- sqld trigger
- java Animal
- java 단축키
- java spider
- SQLD 핵심포인트
- java 상속
- java 구구단
- Today
- Total
SQLD, ECLIPS, JAVA,PYTHON, NODE....
[Eclips] Java Class 5 - 매개변수, 오버로딩, 메소드 문제 및 정답 본문
2023.12.13
(문제) 1개의 클래스 내부에 다음에 제시된 10개의 메소드를 정의하고 메인 메소드를 이용해서 실행코드를 작성하시오.
(단, 중복 모듈 분리를 위한 메소드 추가는 허용한다)
[클래스명 : ControlFunc]
1. 정수형 데이터(int) 2개를 매개변수로 받아서 덧셈 연산을 수행하여 모니터로 결과를 출력하는 메소드
0. 식별자 : add
1. 파라미터(input) : 정수형 데이터 2개를 받는다
2. 메소드 바디 : 덧셈 연산 결과값을 모니터로 출력한다(표준 출력 메소드)
3. 출력 데이터(output) : 없음
2. 정수형 데이터(byte) 2개를 매개변수로 받아서 덧셈 연산을 수행하여 결과값을 반환하는 메소드
0. 식별자 : add
1. 파라미터(input) : 정수형 데이터 2개를 받는다
2. 메소드 바디 : 덧셈 연산 결과값을 정수형 변수에 저장한다
3. 출력 데이터(output) : 결과값을 출력한다
3. 정수형 데이터(int) 2개를 매개변수로 받아서 뺄셈 연산을 수행하여 결과값을 반환하는 메소드
0. 식별자 : sub
1. 파라미터(input) : 정수형 데이터 2개를 받는다
2. 메소드 바디 : (큰수-작은수)의 뺄셈 연산의 결과값을 변수에 저장한다
3. 출력 데이터(output) : 결과값을 출력한다
4. 정수형 데이터 1개를 매개변수로 받아서 해당되는 문자열(인사말)을 모니터로 출력하는 메소드
0. 식별자 : select
1. 파라미터(input) : 정수형 데이터 1개를 받는다
2. 메소드 바디 : 입력 받은 데이터의 값에 따라 4종류의 문자열을 표준 출력한다
(1-굿모닝, 2-굿애프터눈, 3-굿이브닝, 4-방가방가)
3. 출력 데이터(output) : 없음
5. 문자 데이터 1개를 매개변수로 받아서 해당되는 문자열(과일이름)을 모니터로 출력하는 메소드
0. 식별자 : select
1. 파라미터(input) : 문자 데이터 1개를 받는다
2. 메소드 바디 : 입력 받은 데이터의 값에 따라 (대소문자 구분없이) 4종류의 문자열을 표준 출력한다
(a-사과, b-배, c-포도, 기타-과일)
3. 출력 데이터(output) : 없음
6. 반복 출력할 횟수를 매개변수로 받아서 지정된 문장을 모니터로 출력하고, 출력된 횟수를 반환하는 메소드
0. 식별자 : hello
1. 파라미터(input) : 반복 횟수
2. 메소드 바디 : 반복 횟수만큼 “안녕하세요~”라는 문장을 표준 출력한다.(단, for문 사용)
3. 출력 데이터(output) : 반복횟수를 출력한다
7. 반복 출력할 횟수와 문자열 내용을 매개변수로 받아서 내용을 모니터로 출력하고, 출력된 횟수를 반환하는 메소드
0. 식별자 : hello
1. 파라미터(input) : 반복 횟수, 출력할 문자열
2. 메소드 바디 : 입력받은 문장을 반복 횟수만큼 표준 출력한다.(단, while문 사용)
3. 출력 데이터(output) : 반복횟수를 출력한다
8. 문자형 배열을 매개변수로 받아서 지정된 배열을 모니터로 출력하고, 배열의 사이즈를 반환하는 메소드
0. 식별자 : hello
1. 파라미터(input) : 출력할 문자열이 저장된 배열
2. 메소드 바디 : 입력받은 문자열의 내용을 표준 출력한다.(단, 향상된 for문 사용)
3. 출력 데이터(output) : 배열 사이즈를 출력한다
9. 실수형 데이터 2개를 매개변수로 받아서 원이 넓이를 계산한 결과값을 반환하는 메소드
0. 식별자 : count
1. 파라미터(input) : 원의 반지름, 파이값 (단, 음수 데이터는 입력할 수 없다)
2. 메소드 바디 : 원의 넓이를 계산한 결과값을 변수에 저장한다
3. 출력 데이터(output) : 결과값을 출력한다 (음수 데이터 입력오류의 경우 -1을 출력한다)
10. 정수형 데이터 2개를 매개변수로 받아서 사각형의 넓이를 계산한 결과값을 반환하는 메소드
0. 식별자 : count
1. 파라미터(input) : 가로 길이, 세로 길이 (단, 음수 데이터는 입력할 수 없다)
2. 메소드 바디 : 사각형의 넓이를 계산한 결과값을 변수에 저장한다
3. 출력 데이터(output) : 결과값을 출력한다 (음수 데이터 입력오류의 경우 -1을 출력한다)
(답안1)
public class ControlFunc {
public static void main(String[] args) {
ControlFunc s = new ControlFunc();
// 1. 정수형 데이터(int) 2개를 매개변수로 받아서 덧셈 연산을 수행하여 모니터로 결과를 출력하는 메소드
s.add(8,9);
// 2. 정수형 데이터(byte) 2개를 매개변수로 받아서 덧셈 연산을 수행하여 결과값을 반환하는 메소드
System.out.println("2번문제 : " + s.add((byte)7, (byte)5));
// 3. 정수형 데이터(int) 2개를 매개변수로 받아서 뺄셈 연산을 수행하여 결과값을 반환하는 메소드
System.out.println("3번문제 : " + s.sub(12, 15));
// 4. 정수형 데이터 1개를 매개변수로 받아서 해당되는 문자열(인사말)을 모니터로 출력하는 메소드
System.out.println("4번문제 :");
s.select(1);
// 5. 문자 데이터 1개를 매개변수로 받아서 해당되는 문자열(과일이름)을 모니터로 출력하는 메소드
System.out.println("5번문제 :");
s.select('C');
// 6. 반복 출력할 횟수를 매개변수로 받아서 지정된 문장을 모니터로 출력하고, 출력된 횟수를 반환하는 메소드
System.out.println("6번문제 :");
System.out.println("반복횟수 : " + s.hello(4));
// 7. 반복 출력할 횟수와 문자열 내용을 매개변수로 받아서 내용을 모니터로 출력하고, 출력된 횟수를 반환하는 메소드
System.out.println("7번문제 :");
System.out.println("출력횟수 : " + s.hello(5,"Java"));
// 8. 문자형 배열을 매개변수로 받아서 지정된 배열을 모니터로 출력하고, 배열의 사이즈를 반환하는 메소드
System.out.println("8번문제 :");
char[] str = new char[5];
str[0] = 'A';
str[1] = 'B';
str[2] = 'C';
str[3] = 'D';
str[4] = 'E';
System.out.println("배열의크기 : " + s.hello(str));
// 9. 실수형 데이터 2개를 매개변수로 받아서 원이 넓이를 계산한 결과값을 반환하는 메소드
System.out.println("9번문제");
System.out.println("원의 넓이는 " + s.count(5.7, 5.7) + " 입니다.");
// 10. 정수형 데이터 2개를 매개변수로 받아서 사각형의 넓이를 계산한 결과값을 반환하는 메소드
System.out.println("10번문제");
System.out.println("사각형의 넓이는 " + s.count(5,7) + " 입니다.");
}
// 메소드 선언부
//1번
void add(int a, int b) {
System.out.println("1번문제 : " + (a+b));
}
//2번
int add(byte a, byte b) {
int res = a + b; return res;
}
//3번
int sub(int a, int b) {
int res = 0;
if(a > b) {
res = a - b;
} else {
res = b - a;
}
return res;
}
//4번
void select(int a) {
switch(a){
case 1 : System.out.println("굿모닝");
break;
case 2 : System.out.println("굿애프터눈");
break;
case 3 : System.out.println("굿이브닝");
break;
case 4 : System.out.println("방가방가");
break;
default : System.out.println("번호를 확인 해주세요");
}
}
//5번
void select(char a) {
char code = ('A'<a && 'Z'>a) ? (char)(a+32) : a;
switch(code){
case 'a' : System.out.println("사과"); break;
case 'b' : System.out.println("배"); break;
case 'c' : System.out.println("포도"); break;
default : System.out.println("과일"); break;
}
}
//6번
int hello(int a) {
int count = 0;
for(int i=0; i<a; i++) {
count ++;
System.out.println("안녕하세요~");
}
return count;
}
//7번
int hello(int a, String b) {
int count = 0;
while(count <= a) {
count ++;
System.out.println(b);
}
return count;
}
//8번
int hello(char[] a) {
int count = 0;
for (char i : a) {
count ++;
System.out.println(i);
}
return a.length;
}
//9번
double count(double a, double b) {
double res = (a * b) * 3.14;
return res;
}
//10번
int count(int a, int b) {
int res = a * b;
return res;
}
}
(강사 답안)
답안 1)
class ControlFunc1{
public static void main(String[] args)
{
byte b=3,c=4,d;
int result,cnt;
double s;
char[] str=new char[3];
str[0]='홍';
str[1]='동';
str[2]='우';
System.out.println("1번");
add(3,5);
System.out.println("2번");
d=add(b,c);
//System.out.println(d);
print(d);
System.out.println("3번");
result=sub(3,5);
//System.out.println(result);
print(result);
System.out.println("4번");
select(1);
System.out.println("5번");
select('a');
System.out.println("6번");
cnt=hello(5);
//System.out.println(cnt);
print(cnt);
System.out.println("7번");
cnt=hello(5,"홍동우");
//System.out.println(cnt);
print(cnt);
System.out.println("8번");
cnt=hello(str);
//System.out.println(cnt);
print(cnt);
System.out.println("9번");
s=count(1.0,3.14);
System.out.println(s);
System.out.println("10번");
result=count(4,5);
//System.out.println(result);
print(result);
}
// *********************************************************************//
//1
public static void add(int num1,int num2){
int sum;
sum=num1+num2;
System.out.println(sum);
}
//2
public static byte add(byte num1,byte num2){
// byte sum = (byte)(num1+num2); // int보다 좁은 범위의 타입이 무조건 int 타입으로 변환(JVM이 기본적으로 32비트 단위의 정수 계산을 하므로!!)
int sum; // (JVM이 기본적으로 32비트 단위의 정수 계산을 하므로!!)
sum=num1+num2;
return (byte)sum;
// return sum;
}
//3
public static int sub(int num1,int num2){
int result;
if(num1>num2){
result=num1-num2;
}
else{
result=num2-num1;
}
return result;
}
//4
public static void select(int num1){
switch(num1){
case 1: System.out.println("굿모닝");
break;
case 2: System.out.println("굿애프터눈");
break;
case 3: System.out.println("굿이브닝");
break;
case 4: System.out.println("방가방가");
break;
default : System.out.println("입력 문자열 없음.");
}
}
//5
public static void select(char ch){
switch(ch){
case 'A':
case 'a': System.out.println("사과");
break;
case 'P':
case 'p': System.out.println("배");
break;
case 'G':
case 'g': System.out.println("포도");
break;
default : System.out.println("과일");
}
}
//6
public static int hello(int cnt){
for(int i=0;i<cnt;i++){
System.out.println("안녕하세요~");
}
return cnt;
}
//7
public static int hello(int cnt,String str){
int i=0;
while(i<cnt){
System.out.println(str);
i++;
}
return cnt;
}
//8
public static int hello(char[] str){
/*
for(int i=0;i<str.length;i++){
System.out.print(str[i]);
}
*/
for(char ch:str){
System.out.print(ch);
}
System.out.println();
return str.length; // [문자열배열.length]형태!
}
//9
public static double count(double r,double pi){
double s;
if(r<0){return -1;}
// return -1.0f; //-1.0으로 쓰게되면 기본 double형으로 인식한다! -1은 자동변환되어 들어가므로 오류없다!
s=r*r*pi;
return s;
}
//10
public static int count(int a,int b){
int s;
if(a<0 || b<0){return -1;}
s=a*b;
return s;
}
public static void print(int a){ //중복모듈 분리 메소드(정수형 데이타 출력)
System.out.println(a);
}
}
답안2)
class ControlFunc2 {
public static void main(String[] args)
{
// add(10,20);
}
//1.
public static void add(int i, int j) {
System.out.println(i+j);
}
//2.
public static byte add(byte i, byte j) {
byte sum = (byte)(i+j); // int보다 좁은 범위의 타입이 무조건 int 타입으로 변환(JVM이 기본적으로 32비트 단위의 정수 계산을 하므로!!)
System.out.println(sum);
return sum;
}
//3.
public static int sub(int i, int j) {
int res = 0;
if (i<=j)
res = j-i;
else
res = i-j;
System.out.println(res);
return res;
}
//4.
public static void select(int var) {
switch (var)
{
case 1 :
System.out.println("굿모닝");
break;
case 2 :
System.out.println("굿에프터눈");
break;
case 3 :
System.out.println("굿이브닝");
break;
case 4 :
System.out.println("방가방가");
break;
}
}
//5.
public static void select(char var) {
// switch (lower(var))
switch (var)
{
case 'a' :
System.out.println("사과");
break;
case 'p' :
System.out.println("배");
break;
case 'g' :
System.out.println("포도");
break;
default :
System.out.println("과일");
break;
}
}
//6.
public static int hello(int cnt) {
for (int i=1 ; i<cnt+1 ; i++)
{
System.out.println("안녕하세요~~!");
}
return cnt;
}
//7.
public static int hello(int cnt, String[] str) {
for (int i=1 ; i<cnt+1 ; i++)
{
System.out.println(str);
}
return cnt;
}
//8.
public static int hello(String[] str) {
int arrsize = 0;
for (String temp : str)
{
System.out.println(temp);
System.out.println(str.length); // [문자열 배열.length]형태!
arrsize = str.length;
}
return arrsize;
}
//9.
public static float count(float r, float pi) {
if (r>0)
{
float width = 0;
width = r * r * pi;
System.out.println(width);
return width;
}
// System.out.println(-1);
// return null; // 메소드에 리턴 값(타입)이 있으므로 조건에 만족하지 않아도 null값이라도 return해야 한다!!
return -1;
// return -1.0f; //-1.0으로 쓰게되면 기본 double형으로 인식한다! -1은 자동변환되어 들어가므로 오류없다!
}
//10.
public static float count(int wl, int hl) {
if (wl>0)
{
float width = 0;
width = wl * hl;
System.out.println(width);
return width;
}
// System.out.println(-1);
// return null;
return -1;
}
}
(해석)
1번문제 : 17
2번문제 : 12
3번문제 : 3
4번문제
굿모닝
5번문제
포도
6번문제
안녕하세요~
안녕하세요~
안녕하세요~
안녕하세요~
반복횟수 : 4
7번문제
Java
Java
Java
Java
Java
Java
출력횟수 : 6
8번문제
A
B
C
D
E
배열의크기 : 5
9번문제
원의 넓이는 102.0186 입니다.
10번문제
사각형의 넓이는 35 입니다.
'Java' 카테고리의 다른 글
[Eclips] Java Class 6 - 상속구조, final, tostring (0) | 2023.12.14 |
---|---|
[Eclips] Java class 5 - package, import, getters & setters 함수, 생성자 함수. (0) | 2023.12.13 |
[Eclips] Java class 4 - 선언부, Method, signature, Overloading, windowbuilder 설치. (0) | 2023.12.12 |
[Eclips] Java class 3 - 배열, 2차원 배열, (0) | 2023.12.11 |
[Eclips] Java class 2 - do while, switch, for 등 제어문 연습문제(다이아몬드 출력 등) (3) | 2023.12.08 |