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

عمل برنامج يظهر اسم عند اعداد معينه

بدأه هاء في 27 أكتوبر 2008 · 13 رد · 1,137 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجو مساعدتي في عمل برنامج يظهر الاعداد من 1 -100 كل 10 ارقام في سطر عند الارقام التي تقبل القسمة على 4 يظهر اسم "علي" والاسماء التي تقبل القسمة على 8 يظهر اسم "مروان"

ارجو ان تكون الفكرة واضحة

وجزاكم الله خيرا على مساعدتي مسبقا

#2

أين محاولاتك؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3
public static void main(String args[]) {	   
   int[] counts = countLetters(chars); 

	 System.out.println(); 
	 System.out.println("The occurrences of each number are:"); 
	  displayCounts(counts); 
   } 
   public static char[] createArray() { 
	char[] chars = new char[100];
	for (int i = 0; i < chars.length; i++)  
	return chars; 
  }   
 public static void displayArray(char[] chars) { 
  for (int i = 0; i < chars.length; i++) { 
	   if ((i + 1) % 20 == 0) 
		 System.out.println(chars + " "); 
	   else 
		 System.out.print(chars + " "); 
	 } 
   } 
  public static int[] countLetters(char[] chars) { 
 int[] counts = new int[100]; 
	 for (int i = 0; i < chars.length; i++)  
	   counts[chars - '1']++;  
	return counts; 
 } 
  public static void displayCounts(int[] counts) {
	for (int i = 0; i < counts.length; i++) { 
   if ((i + 1) % 10 == 0) 
		System.out.println(counts + " " + (char)(i + '1'));		else 
		 System.out.print(counts + " " + (char)(i + '1') + " "); 
	 } 
  } 
 }

تم تعديل هذه المشاركة بواسطة ahmad123 في 28 أكتوبر 2008 في 22:00

#4

هناك خطأ في الكود حيث أن المتغير chars غير معرف ،، اضافه الى أن الدوال الموجوده غير متطلبه في برنامجك ، فما الحاجه لداله لعد الحروف ، وانشاء مصفوفه !

اذا كان برنامجك حول عمل برنامج لطباعه الأرقام من 1 الى 100 ويقوم بطباعه كل عشره أسطر في سطر ، وفي هذه الأرقام اذا كان الرقم يقبل القسمه على 4 يطبع شيء فلاني ، واذا كان يقبل القسمه على 8 يطبع شيء فلاني ، فالبرنامج سوف يحتاج الى التعامل مع المعامل % لأخذ باقي القسمه ..

في حال أردنا طباعه كل عشره ارقام سوف نختبر باقي قسمه العدد على 11 واذا كان أكبر فمعناه أنزل للسطر التالي ،

وفي حال أردنا طباعه A مكان مضاعفات العدد 4 ، نختبر باقي قسمه العدد على 4 فاذا ساوي 0 فنقوم بطباعه الحرف المطلوب ، ونفس الشيء في 8 ..

هذا المثال ، لكنه يحتاج لترتيب المخرجات قليلا :

 

[color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]class Demo

[color= #009900;]{

[color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]static [color= #000066; font-weight: bold;]void main[color= #009900;]([color= #003399;]String args[color= #009900;][[color= #009900;]][color= #009900;])[color= #009900;]{

	[color= #000000; font-weight: bold;]for [color= #009900;]([color= #000066; font-weight: bold;]int i[color= #339933;]=[color= #cc66cc;]1 [color= #339933;]; i[color= #339933;]<=[color= #cc66cc;]100 [color= #339933;]; i[color= #339933;]++[color= #009900;]) [color= #009900;]{

		[color= #000000; font-weight: bold;]if [color= #009900;]( i [color= #339933;]% [color= #cc66cc;]11 [color= #339933;]== [color= #cc66cc;]0 [color= #009900;]) 

			[color= #003399;]System.[color= #006633;]out.[color= #006633;]println[color= #009900;]([color= #009900;])[color= #339933;];

		[color= #000000; font-weight: bold;]else [color= #000000; font-weight: bold;]if [color= #009900;]( i [color= #339933;]% [color= #cc66cc;]4 [color= #339933;]== [color= #cc66cc;]0[color= #009900;])

			[color= #003399;]System.[color= #006633;]out.[color= #006633;]print[color= #009900;]([color= #0000ff;]"A   "[color= #009900;]) [color= #339933;];

		[color= #000000; font-weight: bold;]else [color= #000000; font-weight: bold;]if [color= #009900;]( i [color= #339933;]% [color= #cc66cc;]8 [color= #339933;]== [color= #cc66cc;]0[color= #009900;])

			[color= #003399;]System.[color= #006633;]out.[color= #006633;]print[color= #009900;]([color= #0000ff;]"M   "[color= #009900;]) [color= #339933;];

		[color= #000000; font-weight: bold;]else

			[color= #003399;]System.[color= #006633;]out.[color= #006633;]print[color= #009900;](i [color= #339933;]+ [color= #0000ff;]"   " [color= #009900;]) [color= #339933;];	

	[color= #009900;]}

[color= #009900;]}

[color= #009900;]}

بالمناسبه هو لن يطبع الحرف الثاني أبدا M ، وذلك لأن 8 ومضاعفاتها هي أيضا من مضاعفات 4 :).

في حال لم يكن ذلك المطلوب وضح مطلوبك بشكل جيد ، وفي حال لم يتضح شيء يمكنك السؤال عنه ..

بالتوفيق ،

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 28 أكتوبر 2008 في 05:33

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#5

شكرا جزيلا اخوي وجدي لا اعلم كيف اشكرك

جزاك الله كل خير الله يوفقك ويعطيك ما تتمناه في الداريين

#6

p

اقتباس
ublic static int[] countLetters(char[] chars) {

int[] counts = new int[100];

for (int i = 0; i < chars.length; i++)

counts[chars - '1']++;

return counts;

}

في عندك غلطه هنا

أنت تعاملت مع عنوان المصفوفه على أساس أنه حرف مش إنتيقر


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#7

شكرا جزيلا لكل من رد وساعدني جزاكم الله كل خير وجعله في موازيين حسناتكم

بس ممكن اطلب مساعده في كيف الكوماند اللي يجب عمله لجعل القائمة السابقة داخل جدول كيف اعمل خط عامودي من جانبي ال 10 اعمدة

ومشكروين مقدما

#8

شكرا جزيلا لكل من رد وساعدني جزاكم الله كل خير وجعله في موازيين حسناتكم

بس ممكن اطلب مساعده في كيف الكوماند اللي يجب عمله لجعل القائمة السابقة داخل جدول كيف اعمل خط عامودي من جانبي ال 10 اعمدة

ومشكروين مقدما

#9

طيب حاول على الأقل ، الموضوع كله طباعه - قبل الدخول في الحلقه ---------- ، وبعد الحلقه أيضا ، وكذا تكون حطيت سطر فوق الأرقام وبعد الأرقام ..

لو أردت أن تكون الأرقام محاطه أيضا ، استخدم الشرط الخاص بالنزول للسطر الجديد ..

if ( i % 11 == 0 )

{

System.out.println("|");

System.out.print("|");

}

جرب هكذا ومع قليل من التغييرات تستطيع عمل ما تريد ،،

بالتوفيق ،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#10

شكرا جزيلا اخوي وجدي ان شاء الله هجربه

وان شاء الله يمشي

#11

اعتذر على عدم طرحي المشكله كلها مره واحدة لكن هل الكوماند كدا صح اذا رغبت انه في العمود الثامن اي بدلا عن 8-18-28-38 ان يظهر اسم علي

else if ( i % 8 == 0 && i% 10==0)

System.out.print("M ") ;

#12

لأ طبعاً

المعادلة مش صحيحة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#13

جرب :

i % 10 = 8

بالتوفيق ،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#14

لا اعلم كيف اشكرك اخوي وجدي

الله يعطيك ما تتمناه في الدارين ويسعدك ويوفقك يارب

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…