1. 입력 받은 년/월 의 달력을 출력.


 

//java MyCalendar 2011 1
public class MyCalendar{
 public static void main(String[] args) {
  int year = Integer.parseInt(args[0]);
  int month =Integer.parseInt(args[1]);
  int day = 1;
  int sum = 0;
  int maxDay = 0;
  System.out.println("일\t월\t화\t수\t목\t금\t토\t");
  for (int i=1; i<year ;i++ ){
   if (i%400 ==0 || (i%4==0&&i%100!=0)){
    sum+=366;
   }
   else{
    sum+=365;
   }
  }
  if(year%400 ==0 || (year%4==0&&year%100!=0)){
   int[] array = {31,29,31,30,31,30,31,31,30,31,30,31};
   for (int i=0 ; i<month-1 ; i++ ){
    sum+=array[i];
   }
  }
  else{//윤년이 아니면
   int[] array1 = {31,28,31,30,31,30,31,31,30,31,30,31};
   for (int i=0 ; i<month-1 ; i++ ){
    sum+=array1[i];
  }
  }
  sum++;
 // System.out.println("총 일수="+sum);
  int space = sum%7;
  // System.out.println("무슨 요일?="+space);
  switch(month){
   case 1: ;
   case 3: ;
   case 5: ;
   case 7: ;
   case 8: ;
   case 10: ;
   case 12: maxDay = 31; break;
   case 4 : ;
   case 6 : ;
   case 9 : ;
   case 11 :  maxDay = 31; break;
   case 2 : 
    if(year%400 ==0 || (year%4==0&&year%100!=0)){
    maxDay = 29;
   }
   else{
    maxDay = 28;
   }
  }
  int count = 0;
  // 공백부터출력
  for (int i =0 ; i  <space ; i++ ){
   System.out.print("★\t");  
   count++;
  }
  for (int i =1 ; i  <=maxDay ; i++ ){
   System.out.print(i+"\t");
   count++;
   if (count%7==0){
    System.out.println();
   }
  }  
  //밑단 별
  if(((space+maxDay)%7)!=0){
   for (int i =0 ; i  <7-((space+maxDay)%7) ; i++ ){
    System.out.print("☆\t"); 
   }
  }
 }
}
 코드 실행결과는 아래와 같다.
알파벳으로 피라미드 탑을 쌓아보자.
public class pyramid{
 public static void main(String[] args){
  
  int cnt = 7;
  int alp = 65;
  for (int i = 1; i<=7 ;i++ ){
   for (int j = 0; j<cnt ;j++ )
   {
    System.out.print("  ");
   } 
   for (int k=0; k< i; k++ ){    
    System.out.printf("%c   ",alp++);
   }System.out.println("");
   cnt--;
  }
  System.out.println("");
 }
}

실행결과는 아래와같다.
Z 뒤에 아스키코드 다음값인 특수문자게 나오게 되었다. 이건 없애야하는건가 모르겠넹,


 

'Project > JAVA' 카테고리의 다른 글

자바 급여 관리 프로그램 설계  (3) 2011.04.04
자바 전화요금 명세서 프로그램 작성  (1) 2011.04.04
자바 달력만들기  (2) 2011.04.04
자바 다이아몬드 출력하기  (1) 2011.04.04

 import javax.swing.JOptionPane;

public class Diamond3 {
 public static void main(String[] args) {
  int re =0; // 재 입력 반복
  while(re==0){
  String size1 = JOptionPane.showInputDialog("피라미드 크기?(홀수입력)");
  int size = Integer.parseInt(size1);
  int i = (size/2)+1; //윗부분 기준
  int j = size-i; //아랫부분 기준
  
  if (size%2==0){
   System.out.print("다시 입력하세요\n");
  }
  else{
  // 윗면
   for (int k=1; k<=i ; k++ ) {
      for (int m=1;i-k>=m ;m++ ) {
      System.out.print("  ");
      }
      for (int n=7;7-k<n ;n-- ) {      
       System.out.print("★  ");
      }      
      System.out.println();
    }  
  //아랫면
  for (int k2=1; k2<=j ; k2++ ) {
      for (int m1=1;m1<=k2 ;m1++ ) {
      System.out.print("  ");
      }
      for (int n1=0;n1<(j+1)-k2 ;n1++ ){      
    System.out.print("★  ");
      }      
      System.out.println();
     }  
     re=2; //프로그램 반복 끝
  }  
  }
 }

}

 

 

 




ps. 출력 환경에 따라 다이아몬드가 살짝 삐뚤어져 보일수도있다. 

'Project > JAVA' 카테고리의 다른 글

자바 급여 관리 프로그램 설계  (3) 2011.04.04
자바 전화요금 명세서 프로그램 작성  (1) 2011.04.04
자바 달력만들기  (2) 2011.04.04
자바 알파벳 피라미드 만들기  (3) 2011.04.04
 엊그제 부터 갑자기 잘 사용중이던 윈도우7의 Aero기능이 먹통이되었다. 여기저기 자료를 찾아보니 악성코드일 수 있다는 가능성이 가장 많았는데 나랑은 전혀 상관이 없었다.(해결이 되지 않았다는 말..)
 
 윈도우7은 자체적으로 문제를 해결 할 수 있는 관리센터가 있는데, 이게 정말 대단한것 같다. 다른데 검색 해 볼 필요없이 그냥 이것만으로 해결을 하였다.

 
 위가 제어판의 문제 해결 항목들이다. 보면 친절하게도 모양 및 개인 설정에 Aero 데스크톱 효과 표시 에 대한 문제가 나와있다. 이것을 클릭 해 보니 먼저 경고창이 뜬다.

 
 흐음.. 보통 이런 경고창은 습관적으로 무시하고 다음을 누르게 된다. (이게 문제의 시작이었다 ㅠ) 

 
 미러 드라이버(?) 이게 뭐지...  아, 어떻게 해결해야될까..
그러다 갑자기 전단계에서 미러드라이버는 디스플레이 드라이버 라는 말이 떠올라서 장치관리자에 가 보았다.


자, 위에 보자. 디스플레이 어댑터에 LogMeIn 이라는 미러드라이버가 설치가 되어 있는 것을 확인할 수 있다.
흠.. 그러고보니 얼마전에 원격 데스크톱을 사용하기위해 프로그램을 설치했는데 거기서 이 드라이버까지 설치가 되었었나보다.. 그리고 이것 때문에 Aero기능이 안되었던 것 같다. 그래서 위의 LogMeIn Mirror Driver를 사용안함 으로체크를 하고 재 부팅을 해 보았다.

그랬더니 Aero기능이 정상적으로 작동이 되었다~!!!
정상 작동 되고나서 관리센터를 다시 실행 해 보니 아래처럼 문제를 발견할 수 없다고한다. (똑똑한놈)


  
ps. Aero문제는 해결되었지만 원격 프로그램은 어떻게 되었을까.. 자세히는 모르겠지만 문제없이 원격프로그램도 잘 실행된다. 원격으로 3D작업을 할 일이 없으니 저 미러 드라이버의 정체를 알 길은 없지만, 문제가 해결 되었으니 기쁠 따름이다.

 윈도우7, 써 볼 수록 괜찮은 녀석인 것 같다. 

'IT World > Computer' 카테고리의 다른 글

티스토리에 SyntaxHighlighter 적용하기  (2) 2011.04.04
32비트OS에서 4G 메모리 활용하기  (0) 2011.03.24

+ Recent posts