私のプログラムは時間を要求しており、私は":"
で時間を分割しています。何らかの理由で、前もって0
で何かを入力すると、最初の値としてそれが削除されます。それがなぜこれをするのか?Integer.parseIntは先行0を削除します
これは私のコードです:
import java.util.Scanner;
public class ArrivalTime {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean rushHour;
System.out.print("Enter The Time Fiona Will Leave For Work (HH:MM): ");
String departureTime = sc.nextLine();
String parts[] = departureTime.split(":");
int departureHour = Integer.parseInt(parts[0]);
int departureMinute = Integer.parseInt(parts[1]);
System.out.println(departureHour + " " + departureMinute);
}
}
'Integer.parseInt(" 00 ")'は、0で表される整数値を返します。あなたは正確に何を期待したのですか? intの代わりにStrings 'parts [0]' 'parts [1]'を直接使用しないでください。 – Pshemo
フォーマットされた出力を使用します( '00'が必要な場合)。同様に、 'System.out.printf("%02d:%02d%n "、departureHour、departureMinute);' –
"厳密に間違った記述をしています。 int型はこの意味で先行ゼロを持たない(シーンの裏側では2進数で、通常は0ビットを先行させるが、これは全く別の話である)。 'int'は数字だけで、*印は何か他のものです:任意の' int'値は先頭にゼロを付けてもしなくても表示することができます –