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"); 
   }
  }
 }
}
 코드 실행결과는 아래와 같다.

 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

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

Oracle 함수 모음 (프로그래밍 함수들 모음)  (1) 2011.03.24
무료 e-learning 센터  (2) 2011.03.24

1. 홈페이지에서 OS 를 리눅스로 선택하여 rpm버전이 아닌 bin 버전으로 받는다

2. bin파일의 실행 권한이 없기 때문에 chmod로 실행 권한을 준 다음 실행으로 압축을 푼다

3. 보통 /usr/local/ 의 경로에 설치 파일을 보관 하므로 압축이 풀린 파일을 이동시킨다.

  - 리눅스는 윈도우와 다르게 레지스트리가 없기 때문에 설치라는 개념이 없다. 그러므로 압축이 풀린 파일의 이동이 자유롭다.

 4. 환경 변수 설정

  1) vi /etc/profile

  $ JAVA_HOME=[설치경로]

  $ CLASSPATH=.:$JAVA_HOME/lib/tools.jar  //현재 위치와 라이브러리위치 모두 입력해야함. 구분선은 콜론

  $ PATH=$JAVA_HOME/bin:$PATH

  $ export JAVA_HOME

  $ export CLASSPATH

  $ export PATH

 2) 등록된 java를 재부팅없이 OS에 적용

 $ source /etc/profile

 

'Linux' 카테고리의 다른 글

CentOS php 설치시 ./configure 설정 작성표  (0) 2011.08.05
리눅스 텔넷(telnet) 한글인식  (1) 2011.03.24
리눅스 원격 설정  (2) 2011.03.24

+ Recent posts