스캐너를 사용하여 입력을 예상대로 인쇄하지 않습니다
-
18-09-2019 - |
문제
이것은 학교를 위해 Java에 어려움을 겪고있는 내 친구를위한 것입니다.
나는 일부 프로그래밍을 알고 있지만 Java는 아닙니다.
Scanner kbReader = new Scanner(System.in);
System.out.print("Name of item: ");
String name = kbReader.next();
System.out.println("Original price of item: $");
double price = kbReader.nextDouble();
출력 :
Name of item: Coat
Original price of item: $
10
다음 줄에서 "원래 가격 : $"에 대한 입력이있는 이유는 무엇입니까? 나는 그것이 내가 갔기 때문에 그것을 추측하고 있었다 String
에게 double
,하지만 다른 방법을 생각할 수 없습니까?
해결책
사용하는 경우
System.out.println()
Java는 출력 후에 Newline을 사용합니다.
System.out.print()
Java는 출력 후에 Newline을 넣지 않습니다.
다른 팁
전체 코드를 게시하지 않았습니다. 그러나 변화
System.out.println("Original price of item: $");
에게
System.out.print("Original price of item: $");
그리고 괜찮을 것입니다.
System.out.println () 메소드가 인쇄 한 모든 것에 Newline 문자를 추가하기 때문입니다. 입력이 같은 줄에 남아 있도록 프롬프트를 원한다면 System.out.print ()를 사용하십시오 (Println ()가 아닌 print () 메소드입니다. ~ 아니다 표준 아웃으로 보낸 내용에 Newline을 추가하십시오. System.out는 정적 java.io.printstream 객체입니다. 당신은 여기에서 당신을 도울 수있는 Javadocs를 읽을 수 있습니다. http://java.sun.com/javase/6/docs/api/java/io/printstream.html
인쇄 대신 println을 사용했기 때문입니다. 'ln'은 새로운 라인을 추가합니다.
제휴하지 않습니다 StackOverflow