[2008.12.29] Java 간단한 클래스 제작

import java.io.*;

public class Exam_02{
 public static void main(String[] arg) throws NumberFormatException, IOException{
  int num=0;
  String str=null;
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
 
  System.out.println("관리할 컴퓨터의 개수를 입력하여주세요 : ");
 
  num=Integer.parseInt(in.readLine());
   
  ComputerManager cm = new ComputerManager(num);
 
  while(true){
   System.out.print("0.프로그램종료\n1.컴퓨터정보입력\n2.컴퓨터정보보기(선택)\n3.모든컴퓨터정보보기\n입력 : ");
   num=Integer.parseInt(in.readLine());
   
   switch(num){
   case 0:
    System.out.print("프로그램을 종료하겠습니다");
    return;
   case 1:
    System.out.print("컴퓨터 번호를 입력하세요 : ");
    num=Integer.parseInt(in.readLine());
    System.out.print("컴퓨터 이름을 입력하세요 : ");
    str=in.readLine();    
    cm.ComputerInputData(num,str);
    break;    
   case 2:
    System.out.print("조회하실 컴퓨터 번호를 입력해주세요 :");
    num=Integer.parseInt(in.readLine());
    cm.ComputerView(num);
    break;
   case 3:
    cm.ComputerView();
    break;
   default: System.out.println("해당하는 메뉴는 없습니다");
   
   }
  } 
 }
}
class ComputerManager{
 private int maxNum,numCnt;
 private Computer com[];
 
 public ComputerManager(int num) {
  // TODO Auto-generated constructor stub
  this.numCnt=0;
  this.maxNum=num;
 
  com=new Computer[num];
 
  for(int i=0;i<num;i++)
   com[i]= new Computer();
 
 }
 
 
 public void ComputerInputData(int num, String str) {
  com[numCnt].setIdName(str);
  com[numCnt].setIdNum(num);  
 }

 public void ComputerView(){
  for(int i=0;i<maxNum;i++)
   System.out.format("컴퓨터 번호 : %d\n컴퓨터 이름 : %s\n",com[i].getIdNum(),com[i].getIdName());
 }
 public void ComputerView(int idNum){
  for(int i=0;i<maxNum;i++)
   if(idNum==com[i].getIdNum()){
    System.out.format("컴퓨터 번호 : %d\n컴퓨터 이름 : %s\n",com[i].getIdNum(),com[i].getIdName());
    return;
   }
  System.out.println("해당하는 컴퓨터 번호를 찾을수 없습니다 ");
 
 }
 
 
}
class Computer{
 private int idNum;
 private String idName;
 
 public Computer(){
  idNum=0;
  idName="Noname";
 }
 public String getIdName() {
  return idName;
 }
 public int getIdNum() {
  return idNum;
 }
 public void setIdName(String idName) {
  this.idName = idName;
 }
 public void setIdNum(int idNum) {
  this.idNum = idNum;
 }
}

Posted by rCan

2008/12/28 19:50 2008/12/28 19:50
Response
No Trackback , No Comment
RSS :
http://rcan.net/rss/response/587

[Java]

import java.io.*;

public class Exam_01 {
 public static void main(String[] args) throws IOException {
  Gugudan gu = new Gugudan(); // 구구단의 인스턴스 생성(객채생성)
  BufferedReader in =
   new BufferedReader(new InputStreamReader(System.in)); // 버퍼리더를 사용하여 키보드로 입력을 받아들임.
 
  System.out.print("숫자를 입력하시면 해당하는 구구단을 보여드립니다\n0을 입력하면 프로그래밍 종료됩니다\n");
 
  while(true){
   System.out.print("입력 : ");
   if(gu.setNum(Integer.parseInt(in.readLine()))){
    // in.readLine()버퍼에서의 내용을 받아들임
    // 받아들인것을 Integer 변환
    // gu.setNum 맴버메소드 실행 하는데 위에서 Integer 변환한값을 넘김
    // 리턴 타입은 boolean으로 사용했기에 바로 if문에다가 사용해줌..
    if(gu.getNum()!=0)
     // 구구단객체에 있는 getNum메소드 실행 return 값이 0이 아닐경우 구구단을 보여준다.
     gu.showRun();
   
    else
     // 그렇지 않을 경우 break while()문을 빠져 나감.
     break;
   }
   else
    // gu.setNum()에서 False를 받아올경우 즉 0, 2~9의 숫자이외의 값이 들어갔을경우 출력할 내용
    System.out.print("숫자를 잘못 입력하셧습니다.\n2~9까지의 숫자를 입력해주십시오.\n");
  }
 
  System.out.print("종료합니다!!"); // 그냥 프로그램 종료를 나타내려고 찍은 프린트.
 }
 
}
class Gugudan{
 // 구구단 클래스
 private int runNum;
 // runNum이라는 인티저형 변수를 private로 선언함. get과 set으로만 runNum에 접근가능하게 하기 위해서

 boolean setNum(int setNum){
  // setNum메소드 int setNum 받아와서 처리
  if((setNum>1&&setNum<10)||setNum==0)
   // setNum이 2~9 그리고 0일경우에만 setNum멤버변수에 값을 넣어준다.
   this.runNum=setNum;
  else
   // 그렇지 않을경우 false를 return 함
   return false;
 
  // if문에서 참일경우 true를 리턴해도 되겠지만
  // else 문에서 false를 리턴시키면서 끝나기때문에 그냥 함수의 끝에 부분에 true를 리턴시키게 해둠.  
  return true;
 
 }
 int getNum(){
  // 단순히 숫자를 가져올때 사용함 이유는 위에 설명
  return runNum;
 }
 
 void showRun(){
  // 구구단을 보여주기 위해서 돌아갈 부분
  for(int i=1;i<10;i++){
   System.out.format("%d x %d = %d\n",runNum,i,runNum*i);
  }
 }
}

책보고 내꺼 소스 보면서 참고해서 프로그램 월요일까지 짜와 내용은.

0번 프로그램 종료
1번 컴퓨터 정보입력
2번 선택한 번호의 컴퓨터보기
3번 입력된 컴퓨터들 전부 보기

클래스 사용해서
0번은 프로그램 그냥 종료시키고
1번은 컴퓨터이름만 받아두고 ID라던지 연번이 있으면 관리하기 편하겟지..
2번은 연번같은거 입력해서 해당하는 컴퓨터들 볼수 있게
3번은 모든 컴퓨터들 정보 프린트하기

Posted by rCan

2008/12/28 12:42 2008/12/28 12:42
Response
No Trackback , No Comment
RSS :
http://rcan.net/rss/response/586

[ATMEGA128] 레포트


#include<avr/io.h>
#include<avr/interrupt.h>
#include<avr/signal.h>

volatile unsigned int TIC_TIME;

void init_port(void){
        DDRF=0xFF;
        PORTF=0x00;
}
void init_timer1(void){
        TCNT1H=0;
        TCNT1L=0;
        TCCR1A=0x00;
        TCCR1B=0x0C;
        TCCR1C=0x00;

        OCR1AH=0xF4;
        OCR1AL=0x24;
        TIMSK=TIMSK|(1<<OCIE1A);
}

void init_timer(void){
        TIFR=0x00;
        init_timer1();
}
void init(void){
        init_port();
        init_timer();
}

SIGNAL(SIG_OUTPUT_COMPARE1A){
        TIC_TIME++;
}
int main(void){
        init();
        sei();
        while(1){
                if(TIC_TIME>99){
                        TIC_TIME=0;
                        PORTF=0x00;
                }
                else
                        PORTF=(TIC_TIME/10)<<4||TIC_TIME%10;
        }

        return 0;
}


Posted by rCan

2008/12/09 17:25 2008/12/09 17:25
Response
No Trackback , No Comment
RSS :
http://rcan.net/rss/response/585

« Previous : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : ... 144 : Next »

블로그 이미지

- rCan

Calendar

«   2010/09   »
      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    

Notices

  1. About Me

Recent Posts

Site Stats

Total hits:
89709
Today:
19
Yesterday:
42