Skip to content

Instantly share code, notes, and snippets.

@yuroyoro
Created August 16, 2012 10:41
Show Gist options
  • Save yuroyoro/3369166 to your computer and use it in GitHub Desktop.
Save yuroyoro/3369166 to your computer and use it in GitHub Desktop.
図2●COBOLプログラムから生成した設計書とJavaプログラムの例(富士通の発... : http://itpro.nikkeibp.co.jp/article/NEWS/20120815/416081/?SS=imgview&FD=-2096679071&ST=system
public void 計算処理(String pkt_年月日1, long pkt_通算日1){
//
/*** 前年までの「うるう年」を考慮する。 ***/
クラス_Rv作業領域.setうるう年数((クラス_Rv作業領域.get年() - 1900 - 1)/4);
//
/*** 前年までの通算日付を求める。 ***/
クラス_Rv作業領域.set合計日数((クラス_Rv作業領域.get年() - 1900) * 365 + クラス_Rv作業領域.getうるう年数());
//
/*** 入力された年がうるう年か判定する ***/
クラス_Rv作業領域.set作業用年(GlobalUtil.round(クラス_Rv作業領域.get年()/4,0,RoundingMode.DOWN));
クラス_Rv作業領域.set余り1 (GlobalUtil.round(クラス_Rv作業領域.get年() - クラス_Rv作業領域.get作業用年() * 4));
クラス_Rv作業領域.set作業用年(GlobalUtil.round(クラス_Rv作業領域.get年()/100,0,RoundingMode.DOWN));
クラス_Rv作業領域.set余り2 (GlobalUtil.round(クラス_Rv作業領域.get年() - クラス_Rv作業領域.get作業用年() * 100));
クラス_Rv作業領域.set作業用年(GlobalUtil.round(クラス_Rv作業領域.get年()/400,0,RoundingMode.DOWN));
クラス_Rv作業領域.set余り3 (GlobalUtil.round(クラス_Rv作業領域.get年() - クラス_Rv作業領域.get作業用年() * 400));
//
/*** 年が4の倍数で、かつ100の倍数でなければ閏年 ***/
/*** ただし、400の倍数も閏年 ***/
CASE1:{
if(クラス_Rv作業領域.get余り1() == 0){
CASE2:{
if(クラス_Rv作業領域.get余り2() != 0 || クラス_Rv作業領域.get余り3() == 0){
クラス_Rv作業領域.get月日()[2 - 1] = Integer.parseInt("29");
break CASE2;
}
}
break CASE1;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment