본문 바로가기
코딩/수업 정리

20.11.30 Mon [006]

by 6^6 2020. 11. 30.
728x90
  • 변수명은 i-j-k순으로!
  • 이중 for문 - 구구단
  • 이중 for문 - 별찍기
  • 메소드
  • 오늘의 문제
public class Practice {
	public static void main(String[] args) {
		double myHeight = 175.9;
		hiEveryone(12, 160.5);
		hiEveryone(13, myHeight);
		byEveryone();
	}
	
	public static void hiEveryone(int age, double height) {
		System.out.println("제 나이는 "+age+"세 입니다.");
		System.out.println("저의 키는 "+height+"cm 입니다.");
	}
	
	public static void byEveryone() {
		System.out.println("다음에 또 만나요.");
	}
}

 

변수명은 관습적으로 i-j-k 순으로 적어주자 (k-j-i XXX)

 

for 중첩문

public class Practice {
	public static void main(String[] args) {

		for(int i = 0; i<4; i++) {
			System.out.println("--------------------");
			for(int j = 0; j<4; j++) {
				System.out.println(("["+i+","+j+"]"));
			}
			System.out.println('\n');
		}
	}
}
/*--------------------
[0,0]
[0,1]
[0,2]
[0,3]


--------------------
[1,0]
[1,1]
[1,2]
[1,3]


--------------------
[2,0]
[2,1]
[2,2]
[2,3]


--------------------
[3,0]
[3,1]
[3,2]
[3,3]	*/

 

 

문제 - 구구단 짝수단만 출력 - 선생님 방법(실무)

public class Hello {
	public static void main(String[] args) {

		for(int i = 2; i<10; i++) {
			
			if(i%2!=0) 		//여기에서 컨트롤하는게 적정
				continue;  //★continue를 사용해서 직관적으로!
			for(int j = 2; j<10; j++) {
				System.out.println(i+"x"+j+"="+i*j);
			}
			System.out.println();
			
		}
	}
}

문제 - 구구단 결과값이 홀수인 것만 출력

public class Hello {
	public static void main(String[] args) {

		for(int i = 2; i<10; i++) {
			for(int j = 1; j<10; j++) {
				if((i*j)%2==1)
				System.out.println(i+"x"+j+"="+i*j);
			}
			System.out.println();			
		}
	}
}

문제- 구구단 결과값이 2의 배수인 것의 갯수

public class Hello {
	public static void main(String[] args) {
		int count=0;		//count변수 초기화!
		for(int i = 2; i<10; i++) {
			
			for(int j = 1; j<10; j++)
				if((i*j)%2==0) {
					count++;
			}		
		}
		System.out.println(count);	
	}
}

 

문제 - 별찍기

public class Hello {
	public static void main(String[] args) {

		for(int i = 1; i<6; i++) {
			
			for(int j = 1; j<=i; j++) {

				System.out.print("*");	
			}
		}
			System.out.println();		
	}
}
//*
//**
//***
//****
//*****

문제 - 별찍기

public class Practice {
	public static void main(String[] args) {
		for(int i=5; i>=1; i--) {
		
			for(int j = 1; j<=i-1; j++) {
			System.out.print(" ");
			}
			for(int j=5; j>=i; j--) {
			System.out.print("*");
			}
			System.out.println();
		}
	}
}
//    *
//   **
//  ***
// ****
//*****

 

문제-별찍기

public class Practice {
	public static void main(String[] args) {
		for(int i=5; i>=1; i--) {
		
			for(int j = 5; j>i; j--) {
			System.out.print(" ");
			}
			for(int j=1; j<=i; j++) {
			System.out.print("*");
			}
			System.out.println();
		}
	}
}
//*****
// ****
//  ***
//   **
//    *
public class Hello {
	public static void main(String[] args) {
	
		for(int x = 1; x<=6; x++) {
			for(int y=1; y<=x; y++) {
				System.out.print(" ");
			}
		for(int y = 6; y>=x; y--) {
			
		//	for(int j = 1; j<=i; j++) {
			
				System.out.print("*");	
			}
		
			
		System.out.println();	
		}
	}
}
//*****
// ****
//  ***
//   **
//    *

문제 -별찍기 피라미드

과제

 

 

메소드

1. 함수 찾는 방법

(  )앞에 있는건 함수다.

ex) main( ) → main 함수

 

2. 함수 만들기 - 만든거 써먹기

public class Practice {
  public static void main(String[] args) {	//함수 써먹는 부분(JVM이 알아서 main함수 호출함)
		hiEveryone(12);				//main함수 만든 부분
		hiEveryone(13);//해당 파라미터에 맞는 value를 넣어준다.
		System.out.println("프로그램의 끝");
		}	
        
  public static void hiEveryone(int age) { //함수 만드는 부분 //hiEveryone(파라미터=매개변수=인자)
		System.out.println("좋은 아침 입니다.");
		System.out.println("제 나이는 "+age+"세 입니다."); //함수호출
  }
}

*함수만드는 부분 파라미터에선 "변수 선언(=메모리할당)"이 무조건 온다!!!!

*함수 안에 함수가 올 수 없다. 함수는 클래스 안에 들어가는 것.

{ { } } XXX / {}{} O

*void는 return값이 없다는 것.

public class Practice {
	public static void main(String[] args) {
		int result; //result는 무조건 정수값!
		result = adder(4,5);
		System.out.println("4 + 5 = " + result);
		System.out.println("3.5 x 3.5 = " + square(3.5));
	}
	
	public static int adder(int num1, int num2) {
		int addResult = num1+num2;
		return addResult; //이 값으로 리턴해준다.
	}
	
	public static double square(double num) {
		return num*num; //이 값으로 리턴해준다.
	}
}

*return = 결과값

 

 

오늘의 문제

1.반복문 3가지의 무한루프 만드는 방법은?

- for(;;){ }

- while(true){ }

- do{
} while(true);
2.구구단 출력을 하시오.

public class Practice {
	public static void main(String[] args) {
		for(int i = 2; i<=9; i++) {
			for(int j = 1;j<=9; j++) {
				System.out.println(i+"x"+j+"="+i*j);
			}
			System.out.println();
		}
	}
}


3.짝수단만 찍으시오.

public class Practice {
	public static void main(String[] args) {
		for(int i = 2; i<=9; i++) {
			if(i%2!=0)
				continue;
			for(int j = 1;j<=9; j++) {
				System.out.println(i+"x"+j+"="+i*j);
			}
			System.out.println();
		}
	}
}


4.3의 배수인 단만 출력하시오.

public class Practice {
	public static void main(String[] args) {
		for(int i = 2; i<=9; i++) {
			if(i%3!=0)
				continue;
			for(int j = 1;j<=9; j++) {
				System.out.println(i+"x"+j+"="+i*j);
			}
			System.out.println();
		}
	}
}


5.아래의 Star를 찍으시오.

*****
*****
*****
*****
*****

public class Practice {
	public static void main(String[] args) {
		for(int i = 1; i<=5; i++) {
			for(int j = 1;j<=5; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

 

 


*
**
***
****
*****

public class Practice {
	public static void main(String[] args) {
		for(int i = 1; i<=5; i++) {
			for(int j = 1;j<=i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

 

 


*****
****
***
**
*

public class Practice {
	public static void main(String[] args) {
		for(int i = 5; i>=1; i--) {
			for(int j = 1;j<=i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

 

 


    *
   **
  ***
 ****
*****

public class Hello{
		public static void main(String[] args) {
			for(int i = 1; i<=5; i++) {
				for(int j = 5;j>i; j--) {
					System.out.print(" ");
				}
				for(int j = 1;j<=i; j++) {
					System.out.print("*");					
				}
				System.out.println();
		}
	}
}

 

 

 

 

*****

 ****

  ***

   **

    *

public class Practice {
	public static void main(String[] args) {
		for(int i = 5; i>=1; i--) {
			for(int j = 1;j<=i; j++) {
				System.out.print("*");
			}
			System.out.println();
			for(int j = 5;j>=i; j--)
				System.out.print(" ");
			}
			System.out.println();
	}
}



   *
  ***
 *****
******* 

public class Hello {
	public static void main(String[] args) {
	
		for(int x = 4; x>=1; x--) {
			for(int y=0; y<=x; y++) {
				System.out.print(" ");
			}
		for(int y =7 ; y>=x*2-1; y--) {
				System.out.print("*");	
			}			
		System.out.println();	
		}
	}
}

 

 


6.함수는 어떻게 알아 볼수 있는가?

 (중괄호)앞에 있는 것이 함수


7.함수는 어떻게 만드는가?

   함수이름(파리미터){

      함수호출}

파라미터에는 변수 선언이 온다.

(메모리 할당) 파라미터에는 변수의 선언이 여러개가 올 수도 있고, 없을 수도 있다.

파라미터에서 변수 초기화를 할 수 없다.


8.함수는 어떻게 써먹는가?
  main함수{

      파라미터에 맞는 value 넣어준다.}


9.아래의 함수를 만드시오.
함수이름: starPrint
매개변수: type 1개
기능: 매개변수에 3를 전달하면 3층 석탑, 5를 전달하면 5층석탑
예) 3전달시 3층석탑
*
**
***
5전달시 5층석탑
*
**
***
****
*****

public class Hello {
	public static void main(String[] args) {
			starPrint(3);
	}
	
	public static void starPrint(int num) {	
		for(int i=1;i<=num; i++) {
			for(int j=1; j<=i; j++) {
			System.out.print("*");
			}
			System.out.println();
		}		
	}
}



 
10.아래의 함수를 만들고,해당함수를 호출하여 확인하시오. 
함수이름: getGrade()
매개변수: double type 1개
리턴: 수 우 미 양 가 중 하나의 char 타입

public class Practice {
	public static void main(String[] args) {
		System.out.println(getGrade(60.6));
	}
	
	private static char getGrade(double grade) {
		char addGrade;
		System.out.print(grade);
		if (grade >= 90) {
			addGrade = '수';
		} else if (grade >= 80) {
			addGrade = '우';
		} else if (grade >= 70) {
			addGrade = '미';
		} else if (grade >= 60) {
			addGrade = '양';
		} else {
			addGrade = '가';
		}
		return addGrade;
	}
}

선생님답↓

public class Practice {
	public static void main(String[] args) {
		int kor = 93;
		int eng = 84;
		int math =77;
		int sum = kor+eng+math;
		double avg = sum/3.0;
		System.out.println("당신의 성적은 : "+getGrade(avg)+"입니다");
	}
			
		
	public static char getGrade(double avg) {	//수우미양가는char니까, 
							//데이터타입은 avg가 들어가야하니까 double
		char ch = '가';//빨간줄 없애기.일단 초기화 시켜놓기 
		
		if(avg<=90) {
			ch = '수';	//이 값으로 반환할거니까!
		}else if(avg<=80) {
			ch = '우';
		}else if(avg<=70) {
			ch = '미';
		}else if(avg<=60) {
			ch = '양';
		}else {
			ch = '가';
		}	
		return ch;	
	}
}



11.매개변수 하나를 받아 원의 넓이를 리턴하는 함수를 작성하시오.

public class Practice {
	public static void main(String[] args) {
		System.out.println("반지름 12.5cm인 원의 넓이 : " + circle(12.5)+"㎠");
	}
	
	public static double circle(double radius) {
		double pi = 3.14;
		return radius*radius*pi;
	}
}

선생님답↓

public class Practice {
	public static void main(String[] args) {
		double Area = getCircleArea(10.0);
		System.out.println("원의 넓이는 "+Area);
	}			
		
	public static double getCircleArea(double r) {				
		double area=0; //double로 일단 초기화
		area = r*r*Math.PI; //Math.PI 가 파이값
		return area;	
	}
}



12.매개변수 두개를 받아, 사각형의 넓이를 리턴하는 함수를 작성하시오.

public class Practice {
	public static void main(String[] args) {
		double result;
		result = Rectangle(12.5,10.5);
		System.out.println("가로12.5cm, 세로10.5cm인 사각형의 넓이 : " + result+"㎠");
	}
	
	public static double Rectangle(double num1,double num2) {
		double addResult = num1*num2;
		return addResult;	
	}
}

 

728x90

'코딩 > 수업 정리' 카테고리의 다른 글

참고하기 좋은 사이트  (0) 2020.12.01
20.12.01 Tue [007]  (0) 2020.12.01
자바 자습  (0) 2020.11.28
20.11.27 Fri [005]  (0) 2020.11.27
20.11.26 Thu [004]  (0) 2020.11.26

댓글