화이트보드 복습겸해서 다시!!

WhiteBoardRecallection.java

음...화이트보드를 한번 더 만들어봤는데요

뭐랄까..........awt랑 swing을 복습하고자 하는 마음으로

다시 만들어봤긴 한데...역시나 화이트보드는 몇가지 쓰질 않더군요- ㅅ-

그래서 조금 응용을 해보긴 했는데

아직 좀 부족한부분이 많네요

색 입력받아서 그리는거라던지 부채꼴모양을 그릴때 각도에 따른 크기라던지

추가하고싶은건 무지무지 많은데

영어실력이 달려서 api를 완전히 해독하지 못한다는 안타까운점과

눈꺼풀에 바위가 매달린 관계로 이정도로 그냥 마무리지어버렸네요ㅜㅜ

몇가지 더 보충하고싶긴한데...여유를 갖고 도전해봐야겠어요

일단 오늘은 시간도 늦었....너무 이른 시간이니 자러가야겠네요;;

by ZaiFan | 2009/11/22 06:50 | JAVA프로그래밍 | 트랙백

숫자를 입력받아서 정렬해주는 프로그램

import java.io.*;
class ArrayTest{
 public static void main(String args[]){
  ArrayTestStart art = new ArrayTestStart();
 }
}
class ArrayTestStart{
 public ArrayTestStart(){
  ArraySort as = new ArraySort();
  as.sortData();
  as.printData();
 }
}
class ArraySort{
 private int sortArray[][] = new int[4][4];
 private int dataOfNumber[] = new int[16];
 private int sortSelect = 0;
 private String str = "숫자";
 private String inStr = null;
 public ArraySort(){
  try{
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  System.out.println("간단한 숫자 정렬프로그램입니다.");
  System.out.print("순차정렬은 1번을 역정렬은 2번을 입력해주세요 : ");
  while(sortSelect == 0){
   inStr = br.readLine();
   if(inStr.equals("")){
     System.out.println("잘못된 입력입니다. 숫자 1과 2중 하나를 입력해주세요");
   }else if(Integer.parseInt(inStr) < 1 || Integer.parseInt(inStr) > 2){
     System.out.println("잘못된 입력입니다. 숫자 1과 2중 하나를 입력해주세요");
   }else{
    sortSelect = Integer.parseInt(inStr);
   }
  }
  System.out.println("1부터 1만까지 입력이가능하며 숫자만 입력해야합니다.");
  for(int i = 0;i < dataOfNumber.length;i++){
   if(i == 1){
    str = "다음 숫자";
   }
   System.out.print(str+"를 입력해주세요 : ");
   inStr = br.readLine();
   if(inStr.equals("")){
    System.out.println("잘못된 입력입니다. 다시입력해주세요");
    i--;
    continue;
   }else if(Integer.parseInt(inStr) < 1 || Integer.parseInt(inStr) > 10000){
    System.out.println("잘못된 입력입니다. 다시입력해주세요");
    i--;
    continue;
   }
   dataOfNumber[i] = Integer.parseInt(inStr);
   rank[i] = 0;
  }
  }catch(IOException e){}
 }
 public void sortData(){
  int n;
  int m;
  int temp;
  if(sortSelect == 1){
   for(int i = 0;i < dataOfNumber.length - 1;i++){
    for(int j = i+1;j < dataOfNumber.length;j++){
     if(i != j){
      if(dataOfNumber[i] > dataOfNumber[j]){
       temp = dataOfNumber[i];
       dataOfNumber[i] = dataOfNumber[j];
       dataOfNumber[j] = temp;
      }
     }
    }
   }
  }else if(sortSelect == 2){
   for(int i = 0;i < dataOfNumber.length - 1;i++){
    for(int j = i+1;j < dataOfNumber.length;j++){
     if(i != j){
      if(dataOfNumber[i] < dataOfNumber[j]){
       temp = dataOfNumber[i];
       dataOfNumber[i] = dataOfNumber[j];
       dataOfNumber[j] = temp;
      }
     }
    }
   }
  }
  for(int i = 0;i < dataOfNumber.length;i++){
   n = i / 4;
   m = i % 4;
   sortArray[n][m] = dataOfNumber[i];
  }
 }
 public void printData(){
  for(int i = 0;i < 4;i++){
   for(int j = 0;j < 4;j++){
    System.out.print(sortArray[i][j]+"\t");
   }
   System.out.println();
  }
 }
}


음...예전에도 했던종류의 프로그램인데 오랜만에해서그런지 오래걸리네요 ㅜㅜ

by ZaiFan | 2009/10/13 15:20 | JAVA프로그래밍 | 트랙백 | 덧글(1)

지난 수업시간 느낀점과 삼행시~

음..이번주엔뭐 몇몇 연산자랑 반복문 쪼금 했었는데요

맨날 BufferedReader명령으로만 쓰다보니까
 
System.in.read() 메서드에서 발생하는 오류를 생각지도 못하고있었네요;;

지금이라도 알았으니 다행스럽긴 하지만

다음에 또 이러지 않는다는 보장이 없으니..좀더 신경 써야겠네요..ㅜㅜ


삼행시

(한 흑인여성이  지나가는걸 보고 딸이 감탄하자 한마디 하시는 어머니입니다..?)

선 : 선탠으로는

택 : 택도없다

문 : 문디가스나야..

참...갈수록 저질스러워지는 저의 삼행시네요;;;;

by ZaiFan | 2009/10/04 22:24 | JAVA프로그래밍 | 트랙백 | 덧글(1)

교수님 간만에 질문이요~

import java.io.*;
class DoUseMenu{
 public static void main(String args[]){
 try{
  char choice;
// do{       ----------주석처리해놓은부분은 ppt에 있던대로 했다가 이상해서 그냥 while문으로 바꾸면서 주석으로 바꿨습니다.
 while(true){
   System.out.println("객체지향 용어 설명");
   System.out.println("  1. 객체");
   System.out.println("  2. 크래스");
   System.out.println("  3. 메시지");
   System.out.println("  4. 상속");
   System.out.print("원하는 번호를 입력하세요 : ");
// System.out.println("1");   ----- 이 라인하고 아래에 주석처리안 println문은 입력명령이 실행되지 않는지 실험해보려고 중간에 추가해봤던 부분인데요 그냥 넘어갈때는 read() 명령이 있는 라인을 한번이나 두번 지나고나서 다음번에 실행되더라구요
   choice = (char)System.in.read();
// System.out.println("1");
   System.out.println();
 try{Thread.sleep(300);}catch(InterruptedException e){}  //혹시 엔터키를 여러번눌렀을까봐 사이에 지연을 넣었습니다.
 if(choice >= '1' && choice <= '4'){break;}
 }
// }while(choice < '1' || choice > '4');
  switch(choice){
   case '1':
    System.out.println("****객체****");
    System.out.print("객체는 정보를 관리하기 위한 논리적인 단위이다");
    break;
   case '2':
    System.out.println("****클래스****");
    System.out.print("클래스는 객체를 생성하는 형판(template)이다");
    break;
   case '3':
    System.out.println("****메시지****");
    System.out.print("메시지는 객체에게 일을 시키는 행위이다");
    break;
   case '4':
    System.out.println("****상속****");
    System.out.print("상속은 상위 클래스로부터 모든 속성과 절차를 이어 받는다");
    break;
  }
 }catch(IOException e){}
 }
}

오늘 홈페이지에서 다운로드한 29일차 ppt자료에서 37페이지에 나와있는 내용인데요

ppt에는 do while문으로 나와있었는데 그냥 while문으로도 해봤거든요

밑에 써놓은건 제가 실행했던 cmd화면 복사한것인데요

do while로 하나 while로하나 이상한점이 있었는데요

1부터 4까지중에 하나의 숫자를 입력하면 정확히 값이 나오는데

여기서 그 외의 숫자를 입력하면 반복문이 3번 실행되면서 3번째에서 멈춰서 입력대기를 하고요

아무것도 입력하지않고 그냥 엔터를 치면 2번째에서 입력대기가 되더라구요

중간에 Thread.sleep()명령을 쓴건 혹시나 엔터키를 누를때 잘못눌러서 그런가싶어서

한번 반복문이 실행될때마다 약간의 텀을 두고 실행되게 하려고 해봤는데요

그래도 똑같이 그냥 반복되더라구요..

아무리봐도 잘못된건 없는것같은데..이상하게 잘 안되네요;;

혹시나 입력받는라인이 실행되지 않는것인가 싶어서 System.in.read()문 윗줄과 아랫줄에

System.out.println()명령을 사용해서 숫자 하나씩을 출력시켜봤는데

실행이 안되고 넘어가는건 아니더라구요...왜그런지 도무지 모르겠어요 ㅜㅜ

시간좀 많이 걸릴거같아서 직접 질문은 못드리고 글로 올립니다

C:\java\090929>java DoUseMenu                   ------cmd창에 실행했던화면 복사한내용입니다
객체지향 용어 설명
  1. 객체
  2. 크래스
  3. 메시지
  4. 상속
원하는 번호를 입력하세요 :

객체지향 용어 설명
  1. 객체
  2. 크래스
  3. 메시지
  4. 상속
원하는 번호를 입력하세요 :
객체지향 용어 설명
  1. 객체
  2. 크래스
  3. 메시지
  4. 상속
원하는 번호를 입력하세요 : 8

객체지향 용어 설명
  1. 객체
  2. 크래스
  3. 메시지
  4. 상속
원하는 번호를 입력하세요 :
객체지향 용어 설명
  1. 객체
  2. 크래스
  3. 메시지
  4. 상속
원하는 번호를 입력하세요 :
객체지향 용어 설명
  1. 객체
  2. 크래스
  3. 메시지
  4. 상속
원하는 번호를 입력하세요 :3

****메시지****
메시지는 객체에게 일을 시키는 행위이다
C:\java\090929>

by ZaiFan | 2009/09/29 16:41 | JAVA프로그래밍 | 트랙백 | 덧글(1)

지난주 소감 및 삼행시

음...우선 지난주 수업의 소감이라면

데이터형식과 캐스팅등에 관련해서 좀 집중적으로 봤는데요

사실 지수승 입력할때 1.004e2라고 써놓고서도

그대로 써야하는건가 싶어서 중간에 질문 하려고 했었는데요

교수님께서 먼저 알려주시더군요 ㅋㅋㅋ

오랜만에 숫자 데이터형(float,double등)을 다뤘더니

무심코 지나갔던 것들인데 새삼 중요하다는걸 또 느꼈네요

아차하는순간 까먹을수도 있으니 조심해야겠어요 ㅋㅋㅋ


삼행시

형 : 형님! 추석이 다가오네요

변 : 변변찮은 선물이지만 신경 많이쓴겁니다 ㅎㅎ

환 : 환절기에 몸조심하시구요^^

by ZaiFan | 2009/09/28 17:09 | JAVA프로그래밍 | 트랙백

<< 이전 페이지다음 페이지 >>