본문 바로가기

카테고리 없음

자바소스 바이오리듬 체크

import java.util.Date;

/**
 * 바이오리듬 공식
 * sin ( ( 지금까지 살아온 날짜 / 지수별 숫자) * 2 * 3.141592654 ) * 100  * 
 * 지수별 숫자는 다음과 같다.
 * 신체지수 : 23 
 * 감성지수 : 28 
 * 지성지수 : 33 
 * 지각지수 : 38
 * 
 * @site http://www.codein.co.kr 
 * @author 진용훈
 * 
 */

public class CalcBiorhythm {

  private static final long mTDV = (60 * 60 * 24 * 1000);
  private static final double mPI = 3.14159;
  private static final double mBioValues[] = { 23.028.033.038.0 };
  private static final String mBioValTxt[] = { "신체""감성""지성""지각" };

  
/**
   * @param args
   */

  public static void main(String[] args) {
    // 아래에 측정할 생년월일 입력
    // ex) 1980/1/6
    int year = 1980;
    int mon = 1;
    int day = 6;
    
    new CalcBiorhythm().calcBiorhythm(new Date(year - 1900, mon - 1, day),
        new Date());
  }

  public void calcBiorhythm(Date birthDate, Date todayDate) {

    // 살아온날수(오늘날짜 - 생년월일)
    double livedDays = (todayDate.getTime() - birthDate.getTime()) / mTDV;
    for (int i = 0; i < mBioValues.length; i++) {
      double p = (int) (Math.sin((livedDays / mBioValues[i]) * 2.0 * mPI) * 100.0);
      System.out.println(mBioValTxt[i] + ": " + p);
    }
  }
}