ここから本文です

paiza cランク アニメの日時 の問題で

u_w********さん

2018/1/1817:56:57

paiza cランク アニメの日時 の問題で

https://paiza.jp/career/challenges/165/page/problem?tk=0bef7578e1bf...

import java.util.*;

public class Main {
public static void main(String[] args) {
// 自分の得意な言語で
// Let's チャレンジ!!

Scanner sc = new Scanner(System.in);
String line = sc.nextLine();

String str[] = line.split(" ");
String date = str[0];

String str1[] = date.split("/");

String jikan = str[1];
String str2[] = jikan.split(":");

String man = str1[0];
int day = Integer.valueOf(str1[1]);

int ji = Integer.valueOf(str2[0]);
int fun = Integer.valueOf(str2[1]);

if(ji >=24 && ji < 48){

day+=1;
}

else if(ji >= 48 && ji < 72){

day += 2;
}

else if(ji >= 72 && ji < 96){

day += 3;
}

else if(ji >= 96 && ji < 100){

day += 4;
}

String time = String.format("%02d:%02d", (ji + 72) % 24, fun);
System.out.print(man+"/"+day+" ");
System.out.println(time);
}
}

これの日付の部分もifの分岐ではなくstring.formatで変換する方法が知りたいです。
string.format以外でも、簡潔になる方法があれば教えてください。

paizaの問題としては回答済みのため、答えを求めているわけではないので
問題についてはあくまで参考にしていただくため添付させていただきます。

閲覧数:
115
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

とみおさん

2018/1/1902:46:50

jiは24周期であり、24周期ごとにdayを1日足していくので
day += ji / 24;
ji %= 24;
ってすると簡単に時間変換できますよー
月と分は文字列のままなんですね
String.formatは、%sを使えば文字列も指定できるので
String.format("%s/%d %d:%s", man, day, ji, fun);
とすると日時を一気に文字列にできます


私も最近paiza始めまてみましたが
一応この問題は4位だったぜ(`・ω・´)

jiは24周期であり、24周期ごとにdayを1日足していくので
day += ji / 24;
ji %=...

  • とみおさん

    2018/1/1902:50:19

    > これの日付の部分もifの分岐ではなくstring.formatで変換する方法
    この質問に回答するなら
    String.format("%s/%d %02d:%s", man, day + ji / 24, ji % 24, fun);

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/1/22 09:57:10

遅れて申し訳ありません。
ありがとうございます!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる