コマンドラインから入力された日付に同じくコマンドラインから入力された日数を加算するサンプルコードです。日付の計算には、「java.util.Calendar」クラスを使用します。
「Calendar」クラスは、任意の一時点の日付、時間の取得や日付計算を行うためのクラスです。「Calendar」クラスは抽象クラスで、インスタンスの取得は静的メソッド「getInstance()」で行います。引数なしのgetInstance()は、デフォルトのタイムゾーンとロケールのカレンダを返却します。日付の計算を行うために、コマンドラインに入力された日付を「Calendar」クラスのインスタンスに設定します。設定は「set()」メソッドに「Calendar」クラスに定義されている年、月などを示す定数と設定する値を指定して行います。日付の設定ができたら、「add()」メソッドに日付を表す「Calendar」クラスの定数と、加算する日数を指定して、計算を行います。日数には負の値を指定することもできます。「add()」メソッドの第1引数に指定する定数を年や月などに変えることにより、任意のフィールドの値を計算することができます。
import java.util.Calendar;
public class ComputeDate {
public static void main(String[] args) {
System.out.println("--処理開始--");
if(args.length < 2)
{
System.out.println("コマンドライン引数を指定してください");
return;
}
try
{
int year = Integer.parseInt(args[0].substring(0,4));
int month = Integer.parseInt(args[0].substring(4,6));
int date = Integer.parseInt(args[0].substring(6,8));
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR,year);
cal.set(Calendar.MONTH,month);
cal.set(Calendar.DATE,date);
int num = Integer.parseInt(args[1]);
cal.add(Calendar.DATE, num);
int year2 = cal.get(Calendar.YEAR);
int month2 = cal.get(Calendar.MONTH);
int date2 = cal.get(Calendar.DATE);
System.out.println(args[0] + "の" + args[1] + "日後は" + year2 + month2 + date2);
}
catch(NumberFormatException e)
{
System.out.println(e);
}
System.out.println("--処理終了--");
}
}
ちょっと一休み. Javaキーワード並び替えゲーム
画面に表示される文字列を並び替えるとJavaに関連するキーワードになります。ヒントをたよりに並び替えを行ってエンターを押してください。
ユーザ登録をしてログインするとランキングに参加できます。