주요내용 : 메소드 오버로딩, 재귀호출
import java.util.Scanner;
/*
* Method OverLoading(메소드 오버로딩)
* 의미 : 같은 이름의 메소드명으로 서로 다른 기능을 구현하고자 할 때 사용합니다.
* 조건>
* 1. 이름은 반드시 같아야 합니다.
* 2. 자료형의 갯수가 서로 다르거나, 인자의 갯수가 서로 달라야 합니다.
*/
//문제2
class HelloClass{
void Hello() { // 전달인자 값이 없습니다.
System.out.println("first = Hello");
}
void Hello(float x) { // 전달인자가 1개
for(float i=1.0f; i<=5.0; i++) {
String str = "Hello";
int xx = (int)x;
System.out.println("second = " + xx + "=>" + str);
}
}
void Hello(float x, float y) { // 전달인자가 2개
float sum=0f;
sum = x + y;
System.out.println("합계는 = " + sum);
}
//-------------end of 문제2---------------------
// 문제3
void Hello(int x){
for(int i=3;i<=3;i++) {
for(int j=1;j<=9;j++) {
System.out.println(i + "*" + j + " = " + i*j);
}
}
}
// 문제4
void Hello(int start, int end){
for(int i=start;i<=end;i++) {
for(int j=1;j<=9;j++) {
System.out.println(i + "*" + j + " = " + i*j);
}
}
System.out.println();
}
//문제5
void HAP(int x) {
int sum=0;
for(int i = 1; i<=x ; i++) {
sum+=i;
}System.out.println(sum);
}
//문제6
int SUM(int start, int end) {
int sum=0;
for(int i=start;i<=end;i++) {
sum+=i;
}
return sum;
}
}
//재귀호출 hc2.ReHi2(n);
static void ReHi2(int n) { // n=5, 4, 3, 2, 1, 0
if(n == 0) { // n==5, n==4, n==3, n==2, n==1
return;
}
System.out.println("HI"); // HI,HI,HI,HI,HI
ReHi2(n-1); // 5-1, 4-1, 3-1, 2-1, 1-1
}
}
public class MethodSample6 {
//문제1
private static void Hello() {
System.out.println("Hello");
}
//재귀호출 ReHi(n);
private static void ReHi(int n) { // n=5, 4, 3, 2, 1, 0
if(n == 0) { // n==5, n==4, n==3, n==2, n==1
return;
}
System.out.println("HI"); // HI,HI,HI,HI,HI
ReHi(n-1); // 5-1, 4-1, 3-1, 2-1, 1-1
}
public static void main(String[] args) {
//문제1] "Hello"라는 문자열을 Hello()라는 메소드를 이용하여 출력해 보세요.
Hello();
//문제2] "Hello"라는 문자열을 HelloClass()라는 클래스를 이용하여 Hello()메소드를 구현하여 출력해 보세요.
HelloClass hc = new HelloClass();
hc.Hello(); //전달인자가 0개
hc.Hello(5.0f); //전달인자가 1개
hc.Hello(5.0f, 2.0f); //전달인자가 2개
//문제3] 3단을 가인수(전달인자)로 넘겨서 Hello 메소드로 3단을 출력해 보세요.
hc.Hello(3); //객체명.메소드명. 전달인자(arguments) : 가인수(보내는 쪽)
//문제4] 시작단(2단)과 끝단(9단)을 가인수로 넘겨서 Hello 메소드로 구구단을 출력해보세요.
hc.Hello(3,7);
//문제5] HAP(x)이라는 메소드를 이용하여 1~100까지의 합계를 구하여 출력하세요.
Scanner sc = new Scanner(System.in);
System.out.println("덧셈할 숫자를 입력하세요.");
int x = sc.nextInt();
hc.HAP(x);
//문제6] SUM()이라는 메소드를 이용하여 시작값(1)과 끝값(100)이 주어지면 합계를 구하여 출력하세요.
System.out.println(hc.SUM(1, 100));
//재귀호출(되부름)
//재귀메소드 : 메소드가 자신을 다시 호출하여 작업을 반복 수행하는 방식을 말합니다.
System.out.println("숫자를 입력하세요.");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ReHi(n);
HelloClass hc2 = new HelloClass();
hc2.ReHi2(n);
}
}
'Bitcamp > BITCAMP - Java' 카테고리의 다른 글
6일차 - 메소드 연습5 (0) | 2019.07.01 |
---|---|
6일차 - 메소드 연습4 (0) | 2019.07.01 |
5일차 - 메소드연습 2 (0) | 2019.07.01 |
5일차 - 메소드 연습 (0) | 2019.06.28 |
5일차 - 과제 (0) | 2019.06.28 |