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

لا أعرف أين الخطأ بالتحديد !

بدأه استثنائيه في 20 نوفمبر 2008 · 5 رد · 555 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السـلام عليـكم و رحمة الله و بركـاته

أنـا مبتدئة بالجـافا و أحتاج مساعدتكم لو سمحتم ,

write a program that reads astring composed of 6 words then generate and print a word

composed of the first letters of the 6 words

حليت السؤال بهذة الطريقة

import java .util.*;

public class Q1
{
static Scanner input = new Scanner (System.in);
public static void main (String args [])
{


String str;
int num , num1 ,num2 , num3 , num4;
String l1 , l2 , l3 , l4 , l5 , l6;

System.out.println("Enter Sentence composed of 6 words seprated by a space");
str = input.next();

l1 = str.substring( 0 , 1);

num = str.indexOf(' ');
l2 = str.substring(num+1 , num+2 );

num1 = str.indexOf(' ',num);
l3 = str.substring(num1+1 , num1+2);

num2 = str.indexOf(' ',num1);
l4 = str.substring(num2+1 , num2+2);

num3 = str.indexOf(' ',num2);
l5 = str.substring(num3+1 , num3+2);

num4 = str.indexOf(' ',num3);
l6 = str.substring(num4+1 , num4+2);

System.out.println(l1 + l2 + l3 + l4 + l5 + l6 );
}
}

المشكـلة ان out put

يطلع لي كلمة مكونة من 6 حروف كلها أول حرف بالجملـة !

مـا أدري الخطأ بالضبط وين ><

شـاكرة لكم مقدما

تم تعديل هذه المشاركة بواسطة استثنائيه في 20 نوفمبر 2008 في 12:45

#2

هذه حل ... حاولي دائما استخدام جميع خصائص الكائنات في جافا قبل استخدام شيء اخر Make it Simple !

String str;

System.out.println("Enter Sentence composed of 6 words seprated by a space \n");

   while(input.hasNext())
   {
	  System.out.println(input.next().charAt(0)); 
  }

تم تعديل هذه المشاركة بواسطة ahmad123 في 20 نوفمبر 2008 في 14:54

#3

شكرا جزيلا , لكن المشكلة مطلوب منا حلها كتطبيق على درس التعامل مع ال string

تم تعديل هذه المشاركة بواسطة استثنائيه في 20 نوفمبر 2008 في 15:26

#4

يبدو ان المشكلة تبدأ في هذا السطر

num = str.indexOf(' ');

لأن قيمة num

تخزن -1 !

هل يوجد خطأ في الجملة ؟

#5
  1.  
  2. import java .util.Scanner;
  3. public class test
  4. {
  5. static Scanner input = new Scanner (System.in);
  6. public static void main (String args [])
  7. {
  8.  
  9. String str;
  10. int num , num1 ,num2 , num3 , num4;
  11. String l1 , l2 , l3 , l4 , l5 , l6;
  12.  
  13. System.out.println("Enter Sentence composed of 6 words seprated by a space");
  14. str = input.nextLine();
  15.  
  16. l1 = str.substring( 0 , 1);
  17.  
  18. num = str.indexOf(' ');
  19. l2 = str.substring(num+1 , num+2 );
  20.  
  21. num1 = str.indexOf(' ',num+1);
  22. l3 = str.substring(num1+1 , num1+2);
  23.  
  24. num2 = str.indexOf(' ',num1+1);
  25. l4 = str.substring(num2+1 , num2+2);
  26.  
  27. num3 = str.indexOf(' ',num2+1);
  28. l5 = str.substring(num3+1 , num3+2);
  29.  
  30. num4 = str.indexOf(' ',num3+1);
  31. l6 = str.substring(num4+1 , num4+2);
  32.  
  33. System.out.println(l1 + l2 + l3 + l4 + l5 + l6 );
  34. }
  35. }
  36.  
  37.  

المشكلة الأولى كانت في هذا السطر:

str = input.next();

عليك استدعاء الدالة nextLine بدل next ، لأن next تقوم بأخذ الكلمة الأولى فقط ...

الخطأ الثاني كان في استدعاء الدالة indexOf ، حسب ما هو موضح في الكود أعلاه

تم تعديل هذه المشاركة بواسطة المبرمج أحمد في 20 نوفمبر 2008 في 16:01

سبحان الله وبحمده ... سبحان الله العظيم

#6

جزاك الله خير , شكرا جزيلا

تم حل المشكلة

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