سؤال

ولقد حاولت "&nbsp;&nbsp;" لعرض مسافتين في الإخراج القياسي جافا سلسلة. تحاول System.out.println("__"); <---- (مسافتين، ولكن، من الواضح، انه الديكورات وصولا الى مسافة واحدة، وبالتالي تسطير)

وأتصور أن هناك طريقة للهروب من &nbsp;، ولكن لا استطيع ان الرقم بها ولا تجد مساعدة على الانترنت. البحث عنه المثير للسخرية لأن الكثير من &nbsp;&nbsp; الحرفي تظهر.

وسيكون موضع تقدير أي مساعدة.

وتحرير:

for (int j = 0; j < COLUMNS; j++)
  if (j < 10){
    r += "__";
  }

وتنتج 10 المساحات، وليس 20 كما هو متوقع عند طباعتها

وآسف أنا لا تزال جديدة في تنسيق هنا

هل كانت مفيدة؟

المحلول

و&nbsp; هو ترميز HTML محددة.

وكنت على حق لأول مرة - سلسلة جافا الذي يتوافق مع مسافتين هو مجرد حرفين الفضاء، منها مثلا

String s = "  ";

ووprintln () الكلمة التي حاولت <م> يجب قد عملت. ماذا فعلتم التي أدت إلى الاعتقاد لكم وقلص ذلك وصولا الى مسافة واحدة؟ أعتقد أن المشكلة هي في مكان آخر ...

وتحرير:

وبناء على مقتطف الشفرة - هو COLUMNS 5، من قبل أي فرصة؟ : -)

وتحرير AGAIN:

وOK، إذا الأعمدة هو 15 ثم هذا الرمز سوف يؤدي إلى r بعد عشرين المساحات الملحقة به. إذا كنت تريد أن تكون متأكدا يمكنك إما الخطوة من خلال في مصحح أو وضع بيان تسجيل فوق خط r += لمعرفة على وجه اليقين كم مرة يسمى بيان.

وأيضا لديها نظرة على كيفية استخدام r في وقت لاحق قبل طباعة انتاجها الى المكان الذي كنت تفقده. ربما يتم اقتطاع قيمة لها في مرحلة ما، إما صراحة في جاوة أو ربما حتى ضمنا (مثل التي يجري تخزينها في عمود قاعدة البيانات التي من 10 حرفا ضيقة جدا قبل ان يتم استرجاعها وعرضها لاحقا).

نصائح أخرى

إذا كنت ترغب في مسافة غير منقسمة في سلسلة الخاص بك، لأي سبب من الأسباب، لديك لاستخدام يونيكود الحرفي:

System.out.println("banana\u00A0phone");

وأنت لا تحتاج إلى استخدام ونبسب في جاوة. System.out.print(" "); يجب أن تفعل خدعة. جرب شيئا مثل:

System.out.print("This is the a string before spaces" + "  " + "this is a string after spaces");

ويمكنك أيضا إنشاء مسافة غير منقسمة قبل الضغط على مفتاح بديل وكتابة 0160 على لوحة الأرقام.

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