내장형 하드웨어/JAVA

JAVA - 기본 문제풀이(짝수, 구구단), 클래스, 메소드

동화다아아 2011. 7. 22. 14:48

- 연습 문제

1) 짝수 구하기

[입력]
N? 
100

[출력]
2 4 6 8

⇒ 소스 작성
package kr.ac.busanit;

import java.util.Scanner;

public class InpuTest {

        
public static void main(String[] args) {
        
// TODO Auto-generated method stub
                
Scanner sc = new Scanner(System.in);
                
int input;
                
int iCount;
    
                System.out.print(
"짝수를 구할 N을 입력하세요 : ");
                input 
= sc.nextInt();
                
for(iCount=2;iCount<=input;iCount=iCount+2)
                {
                        System.out.printf(
"%d\n", iCount);
                }
        }
}

2) 구구단
[입력]
N? 
5

[출력]
5 * 1 = 5
5
 * 9 = 45

⇒ 소스 작성
package kr.ac.busanit;

import java.util.Scanner;

public class InpuTest {

        
public static void main(String[] args) {
                
// TODO Auto-generated method stub
                
Scanner sc = new Scanner(System.in);
                
int input;
                
int iCount;
    
                System.out.print(
"출력할 구구단의 숫자를 입력하세요 : ");
                input 
= sc.nextInt();
                
for(iCount=1;iCount<10;++iCount)
                {
                System.out.printf(
"%d * %d = %d\n", input, iCount, input*iCount);
                }
        }
}

3) 입력받은 수와 같은 줄의 별 출력


[입력]
N? 
5

[출력]
*****
****
***
**
*

⇒ 소스 작성
package kr.ac.busanit;

import java.util.Scanner;

public class InpuTest {

        
public static void main(String[] args) {
                
// TODO Auto-generated method stub
                
Scanner sc = new Scanner(System.in);
                
int input;
                
int row;
                
int rank;
    
                System.out.print(
"출력할 라인 수를 입력하세요 : ");
                input 
= sc.nextInt();
                
for(row=0;row<input;++row)
                {
                        
for(rank=input-row;rank>0;--rank)
                        {
                                System.out.printf(
"*");
                        }
                        System.out.printf(
"\n");
                }
        }
}



4) 입력받은 수와 같은 줄의 별 거꾸로 출력
[입력]

N??5


[출력]
    *
   **
  ***
 ****
*****

⇒ 소스 작성
package kr.ac.busanit;

import java.util.Scanner;

public class InpuTest {

        
public static void main(String[] args) {
                
// TODO Auto-generated method stub
                
Scanner sc = new Scanner(System.in);
                
int input;
                
int row;
                
int rank=0;
    
                
System.out.print("출력할 라인 수를 입력하세요 : ");
                input 
= sc.nextInt();
                
for(row=0;row<input;++row)
                {
                        
for(rank=input-row-1;rank>0;--rank)
                        {
                                
System.out.printf(" ");
                        }
                        
for(rank=0;rank<=row;++rank)
                        {
                                
System.out.printf("*");
                        }
                        
System.out.printf("\n");
                }
        }
}



[입력]

N??5


[출력]
    *
   ***
  *****
 *******
*********

⇒ 소스 작성
package kr.ac.busanit;

import java.util.Scanner;

public class InpuTest {

        
public static void main(String[] args) {
                
// TODO Auto-generated method stub
                
Scanner sc = new Scanner(System.in);
                
int input;
                
int row;
                
int rank=0;
            
                
System.out.print("출력할 라인 수를 입력하세요 : ");
                input 
= sc.nextInt();
                
for(row=0;row<input;++row)
                {
                        
for(rank=input-row;rank>0;--rank)
                        {
                                
System.out.printf(" ");
                        }
                        
for(rank=1;rank<=(row+1)*2-1;++rank)
                        {
                                
System.out.printf("*");
                        }
                        
System.out.printf("\n");
                }
        }
}



[입력]

N??5


[출력]
    *
   ***
  *****
   ***
    *





[입력]

N??6


[출력]
   *  

  * * 

 *   *

*     *

 *   *

  * * 

   *  

⇒ 소스 작성

package kr.ac.busanit;


import java.util.Scanner;


public class InpuTest {


        public static void main(String[] args) {

                // TODO Auto-generated method stub

                Scanner sc = new Scanner(System.in);

                int input;

                int row;

                int rank=0;

                                

                System.out.print("출력할 라인 수를 입력하세요 : ");

                input = sc.nextInt();

                for(row=0;row<=input;++row)

                {

                        for(rank=0;rank<=input;++rank)

                        {

                                if(row+rank==3 || row-rank==3 || row-rank == -3 || row + rank == 9)

                                {

                                        System.out.printf("*");           

                                }

                                else

                                {

                                        System.out.printf(" ");

                                }

                        }

                        System.out.printf("\n");

                }

        }

}


- 프로그램의 발전

 

⇒ 현실세계를 모방한 객체지향적 프로그래밍

 

⇒ 특성으로 묘사되고 행동으로 상호작용하는 현실세계의 객체들을 데이터와 객체(액션)으로 표현한다.

같은 종류 객체들의 공통된 데이터 구조와 기능을 정의하는 것을 클래스라 한다.



클래스를 만드는 연습

클래스[학생]

데이터(속성) : 이름, 학번, 주소, 나이, 키, 몸무게, 지도교수, 전공, 학교이름, ...

 

액션(메소드) : 학교가다. 공부하다. 퇴교하다, 먹는다, 운동하다, ...

 

class Student{

}


클래스[자동차]

데이터(속성) : 핸들, 바퀴, 배기량, 기어 배기통, 색상, 메이커, 엔진, 벨트, ...

 

액션(메소드) : 달리다--> 주행하다 --> 서행하다, 주차하다, 후진하다, ...

 

class Car{

   String handle; // String은 char *와 같다.

   int tire;

   int color;

   void run(){

      // 달리기 로직이 들어감!!!

   }

   void parking(){

   }

}


⇒ 실제 코드 작성

package kr.ac.busanit;

class Car{
  
String handle; // String은 char *와 같다.
  int tire;
  
int color;
  
void run(){
     
// 달리기 로직이 들어감!!!
  }
  
void parking(){
  }
}
public class CarTest {  
         
        
public static void main(String[] args) { 
                
// TODO Auto-generated method stub 
                Car mycar01;   // 레퍼런스 변수선언!!!! 
                mycar01 = new Car(); // 객체 생성 
                mycar01.handle = "기아핸들"// 멤버 변수에 데이터 삽입 
                System.out.println(mycar01.handle); // 출력 
        }