No.7ベストアンサー
- 回答日時:
ミスが見つかりましたので訂正します。
1.うるう年に対応。
2.2月下旬の日数表示が間違っていた。
public class D100nichi{
public static void main(String[] args){
int y=Integer.parseInt(args[0]);
int DD=Integer.parseInt(args[1]);
int i=0;
int j=0;
String str1="00312831303130313130313031";
String str2="00312931303130313130313031";
String str="";
if((y%100)==0 && (y%400)==0){
str=str2;
}else if((y%4)!=0 || (y%4)==0 && (y%100)==0){
str=str1;
}else{
str=str2;
}
while (DD>j) {
DD=DD-j;
i=i+1;
j=Integer.parseInt(str.substring(i*2,i*2+2));
}
System.out.println(args[1]+"日は"+i+"月"+DD+"日");
}
}
今度は>java D100nichi 2005 100 のように入力して
下さい。
返答が遅れてしまい申し訳ありません。
自分の知識の少なさでせっかく回答してもらったのに理解ができず、すべてをそれなりに勉強してやっと多少理解できたのでこの場を借りてお礼を言わせて頂きます。わざわざプログラムを作成して頂いたり、様々な命令文の例題を提示していただいてとても参考になりました。ありがとうございました。
No.6
- 回答日時:
こんばんは~!!(^^♪
java.util.Calendarクラスを使用することをおすすめします。
import java.util.*;
public class NewYear {
public static void main(String[] args){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_YEAR, Integer.parseInt(args[0]));
System.out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE));
}
}
こんな感じでコンパイルしコマンドラインから
java NewYear 100 ← 何日目かを入力する
-> 2005/4/10 と出力されます。
ちなみにアドバイスですが、No.5の人のソースで行くと2月などはうるう年の場合もあるのでおかしくなってしまうと思いますよ。
参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/java …
No.5
- 回答日時:
取り敢えず完成しました。
args[0]を使ってますのでコンパイル後には >java D100nichi 100
の様に0から364の数字を入力してください。
public class D100nichi{
public static void main(String[] args){
String str="312831303130313130313031";
int DD=Integer.parseInt(args[0]);
int i=0;
int j=0;
if(DD>31){
while (DD>j) {
j=Integer.parseInt(str.substring(i*2,i*2+2));
DD=DD-j;
i=i+1;
}
i=i+1;
System.out.println(args[0]+"日は"+i+"月"+DD+"日");
}
else{
System.out.println(args[0]+"日は"+1+"月"+DD+"日");
}
}
}
No.4
- 回答日時:
元旦からの日数ならCalendar.set()メソッドで簡単に求められます。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_YEAR, 100);
100日目ならこんな感じです。
No.3
- 回答日時:
タイトルのように経過日数を求めるのなら、#1の方のとおりでよいと思いますが、
質問内容を見ると経過日数ではなく、日付に足し算したいように読めますので、その方法です。
100日ではなく、1ヶ月とか1年とかすることや、
負の値を加算することで、減算することもできます。
Calendar cal = Calendar.getInstance();
cal.set(2005, 0, 1);//2005年の元旦(月が0からなので注意)
cal.add(Calendar.DATE, 100);//100日プラス
//Date型で取得
Date d = cal.getTime();
System.out.println(d);
//文字列(yyyy-MM-dd形式で取得)
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(fmt.format(d));
No.2
- 回答日時:
まだ途中の欠陥プログラムですが参考に。
public class D100nichi{
public static void main(String[] args){
String str="312831303130313130313031";
int DD=100-1;
int i=0;
while (DD>31) {
i=i+1;
DD=DD-Integer.parseInt(str.substring(i*2,i*2+2));
}
i=i+1;
System.out.println("100日は"+i+"月"+DD+"日");
}
}
No.1
- 回答日時:
CalendarやDateで1970年元旦からの通算ミリ秒は取得できます。
これを使って、知りたい日とその年の元旦の差分をミリ秒単位で得て、一日のミリ秒数(1000*60*60*24)で割れば日数が得られるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) エクセル「社員の重なっている仕事時間の算出方法について」教えてください。 6 2023/02/06 00:10
- Excel(エクセル) 【エクセル関数】複数条件に該当する場合、別の列の数値を合算する。 9 2022/07/09 08:46
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- 離婚・親族 私は3年前に自分理由で弁護士をいれ離婚をしました。 子供(小学5年生の男の子)は元旦那さんと一緒に住 4 2022/06/02 01:30
- 夫婦 なんで旦那には見返りを求めてしまうのでしょうか? ボランティアや催しのお手伝いをしたり、人に喜んでも 11 2022/05/26 20:46
- 離婚・親族 面会交流時に子供に暴力する元夫を許せない 1 2022/03/26 21:49
- 夫婦 旦那とのHが気持ちよくないです。 結婚して2年目なんですが、 旦那とのHが楽しめないし気持ちよくなれ 12 2023/01/04 10:29
- その他(結婚) 彼氏向きの男の人=旦那向きの男の人だと思いません? よく聞くのは「彼氏には刺激を求めて楽しませてくれ 2 2022/12/02 07:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドライン引数の*(アフ...
-
変数を動的に利用するには?
-
日本語が文字コードによっては...
-
クラスを使った電卓のプログラム
-
javaのプログラミングで作るRPG...
-
Java プログラム public class ...
-
DESを使用した暗号化/復号化処...
-
JSP/Servletのパラメータの受け...
-
NoSuchMethodErrorが解決できま...
-
中カッコ{}だけの記述について
-
System.exit()の値を取得したい
-
Socketの接続のタイムアウトを...
-
プログラミングの問題です。大...
-
数字の大小の比較とテストメソッド
-
コンストラクタの引数の中のnew?
-
java.util.concurrent.Future g...
-
StringクラスのcompareToメソッド
-
Javaがうまく動作しない理由
-
TCPプログラミング
-
ArrayList でスタックを
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングの問題です。大...
-
変数を動的に利用するには?
-
中カッコ{}だけの記述について
-
System.exit()の値を取得したい
-
Javaでlog4jを使ってログ出力を...
-
NoSuchMethodErrorが解決できま...
-
javaで特定の文字列から特定の...
-
Socketの接続のタイムアウトを...
-
Java プログラム public class ...
-
javaのプログラミングで作るRPG...
-
インタフェイス実装と抽象クラ...
-
コマンドライン引数の*(アフ...
-
【初心者です】javaで平均値を...
-
Javaで日本語の出力が文字化けする
-
(大至急)JavaでATMもどきを作成
-
コンストラクタの引数の中のnew?
-
Java 最大公約数 gcd
-
C# DatagridviewにExcelシート...
-
randomで
-
GetterとSetterをやったのに。
おすすめ情報