Calendarクラスのaddメソッドを使えば、年月日のそれぞれの要素を進めたり戻したりできます。
この処理には月の日数の違いやうるう年なども考慮されるので、加減処理が簡単になります。
ただし、月は1月が0と表されることには注意が必要です。
以下がその例です。
import java.util.*;
public class month {
public static void main(String args[]) {
try {
String Str = args[0];
Calendar Cal = Calendar.getInstance();
int NenIndex = Str.indexOf("年");
int GatuIndex = Str.indexOf("月");
String YearStr = Str.substring(0, NenIndex);
String MonthStr = Str.substring(NenIndex + 1, GatuIndex);
int YearNum = Integer.parseInt(YearStr);
int MonthNum = Integer.parseInt(MonthStr) - 1;
Cal.set(YearNum, MonthNum, 1);
Cal.add(Calendar.MONTH, -1);
YearNum = Cal.get(Calendar.YEAR);
MonthNum = Cal.get(Calendar.MONTH);
System.out.println("Next Month : " + Integer.toString(YearNum) + "年" +
Integer.toString(MonthNum + 1) + "月");
} catch (Exception e) { System.out.println(e.toString()); };
};
}