scanner à l'aide pour obtenir l'entrée pas l'impression comme prévu
-
18-09-2019 - |
Question
Ceci est un de mes amis qui a des problèmes avec Java pour l'école.
Je connais une programmation, mais pas 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();
Sorties:
Name of item: Coat
Original price of item: $
10
Pourquoi l'entrée pour « prix initial de l'article: $ » sur la ligne suivante?
Je devinais c'était parce que je suis passé de String
à double
, mais ne peut pas penser à une autre façon il? Faire
La solution
Si vous utilisez
System.out.println()
Java mettre un saut de ligne après la sortie, si vous utilisez
System.out.print()
Java ne sera pas mis un saut de ligne après la sortie.
Autres conseils
Vous avez pas posté tout le code. Mais, le changement
System.out.println("Original price of item: $");
à
System.out.print("Original price of item: $");
et il sera ok.
Il est parce que la méthode System.out.println () ajoute un caractère de nouvelle ligne à tout ce qu'il imprime. Si vous voulez l'invite pour l'entrée de rester sur la même ligne, utilisez System.out.print () (notez que la méthode est l'impression (), non println ()) qui fait pas ajouter une nouvelle ligne à ce qu'il envoie à des normes. System.out est un objet java.io.PrintStream statique. Vous pouvez lire le Javadocs là-dessus pour vous aider ici: http://java.sun.com/javase/6/docs/api/java/io/PrintStream.html
Parce que vous avez utilisé println au lieu d'impression. Le « Dans » ajoute une nouvelle ligne.