내 프로그램에서 시간을 묻는 중이고 ":"
으로 시간을 나눕니 다. 어떤 이유로 먼저 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는이 의미에서 0을 가지지 않습니다 (장면 뒤에서는 32 비트 바이너리이며 일반적으로 0 비트를 이끌지 만, 완전히 다른 이야기입니다). 'int'는 숫자 일 뿐이며 * 출력되는 방법은 다른 것입니다 : 어떤 int 값도 선행 제로의 수를 가지거나 가지지 않고 표시 될 수 있습니다 –