باستخدام الماسح الضوئي للحصول على إدخال عدم الطباعة كما هو متوقع

StackOverflow https://stackoverflow.com/questions/1479837

سؤال

هذا هو صديق لي تواجه مشكلة مع 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 بوضع جديد بعد الإخراج، إذا كنت تستخدم

System.out.print()

لن تؤدي جافا إلى وضع خط جديد بعد الإخراج.

نصائح أخرى

أنت لم تنشر الكود بالكامل. ولكن، التغيير

System.out.println("Original price of item: $");

ل

System.out.print("Original price of item: $");

وسيكون على ما يرام.

.. إذا كنت تريد أن تبقى المطالبة للإدخال في نفس السطر، فاستخدم System.Out.Print () (لاحظ طريقة الطباعة ()، وليس println ()) الذي يفعل ليس أضف عنوان جديد إلى ما يرسله إلى Standard Out. System.out هو كائن Java.io.printStream ثابت. يمكنك قراءة Javadocs على ذلك لمساعدتك هنا: http://java.sun.com/javase/6/docs/api/java/io/printstream.html.

لأنك استخدمت println بدلا من الطباعة. يضيف "LN" سطر جديد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top