الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Scanner .. objects

مغلق
بدأه GoN FreEcSs في 17 مايو 2007 · 1 رد · 498 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
System.out.print ("Name: ");
String nm = new String (input.next());
stu[count].setName(nm);
System.out.print("\nEnter three score: "); 
double[] y = new double[3];
for (int i = 0; i < y.length; i++){
System.out.print("Score " + (i+1) + " : ");
y = input.nextDouble();
}

عند تشغيل البرنامج بهذا الكود

فإن القيم المدخلة تعين إلى عناصر المصفوفة بطريقة سليمة إذا فرقت بين القيم بمسافة

لكن إذ ضغطت إنتر بعد ادخال كل قيمة ، فإن جميع عناصر المصفوفة تأخذ القيم الأولى

مثال

34

45

65

هكذا تأخذ جميع عناصر المصفوفة القيمة 34

لكن إذا كان الادخال بهذه الطريقة

34 35 65

فإن العناصر تأخذ القيم المفترضة بطريقة سليمة

السؤال ..

مالفرق بين المسافة والانتر عند ادخال القيم ؟؟

على أية حال

غيرت الكود وجعلته

String nm = new String (input.next());
stu[count].setName(nm);
System.out.print("\nEnter three score: "); 
double[] y = new double[3];
for (int i = 0; i < y.length; i++){
System.out.print("Score " + (i+1) + " : ");
y = input.nextDouble();
}

بحيث يطبع أمر الإدخال عند كل قيمة ، ويستخدم الانتر عند الادخال، والقيم عينت بشكل صحيح ..

لذا

مالفرق بين الإنتر والمسافة عند ادخال القيم ؟

شاكر لكم تعاونكم

تم تعديل هذه المشاركة بواسطة GoN FreEcSs في 17 مايو 2007 في 14:20

#2

اذا فرقت بين العناصر بمسافه فسوف يعتبرها 3 مدخلات وتتم العمليه ، لأن المسافه هي default regex للكلاس سكنر

وكذلك اذا ضغطت انتر فسوف يأخذ كل واحد على حده وينتظر منك 3 مدخلات ، لذلك نفس الحل سوف ينتظرك لو ادخلك كل مره مدخل واحد وضغطت انتر

	public static void main(String[] args) {
		Scanner sc =new Scanner(System.in);
	   double[] d=new double[3];
	   for(int i=0;i<d.length;i++){
	   System.out.println("Score: "+(i+1));
	   d=sc.nextDouble();}

	   System.out.println(d[0]+" "+d[1]+" "+d[2]);

	}

هذا الموضوع مغلق.

مواضيع مشابهة