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

ليش الحل خطأ (string)

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

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

عندي سؤال كل ما احلو بيطلع الناتج غير متوقع مش عارف شو الخطا اللي في الحل , فاذا ممكن منكم المساعدة في ايجاد الخطا, مع العلم الي تقريبا اكتر من ساعة وانا باحاول اجد الخطا بس مش ملاقيه

السؤال هو

(Checking substrings) You can check whether a string is a substring of another string by using the indexOf<A name=the> method in the Stringhttp://' target="_blank"> class. Write your own method for this function. Write a program that prompts the user to enter two strings, and check whether the first string is a substring of the second.

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

the first string is a substring of the second.

import javax.swing.*;

public class S{

public static void main (String[] args){

String str1=JOptionPane.showInputDialog("Inter the first string :");

String str2=JOptionPane.showInputDialog("Inter the second string :");

String output="";

if(isSubString(str1,str2))

output="("+str1+") is a substring of ("+str2+")";

else

output="("+str1+") is not a substring of ("+str2+")";

JOptionPane.showMessageDialog(null,output);

}

public static boolean isSubString(String st1,String st2){

char[] n1=st1.toCharArray();

char[] n2=st2.toCharArray();

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

for (int j=0;j<n2.length;j++){

if(n1==n2[j])

return true;

}

}

return false;

}

}

#2
import javax.swing.*;
public class S{
	public static void main (String[] args){
		String str1=JOptionPane.showInputDialog("Inter the first string :");
		String str2=JOptionPane.showInputDialog("Inter the second string :");

		String output="";

		if(isSubString(str1,str2))
		  output="("+str1+") is a substring of ("+str2+")";
		else
		  output="("+str1+") is not a substring of ("+str2+")";

		JOptionPane.showMessageDialog(null,output);
	}

	public static boolean isSubString(String st1,String st2){
		char[] n1=st1.toCharArray();
		char[] n2=st2.toCharArray();

		for (int i=0;i<n1.length;i++){
			for (int j=0;j<n2.length;j++){
				if(n1==n2[j])
				return true;
			}
		}
		return false;
	}
}
#3

الم تجدوا الحل الصحيح؟؟

اكيد الخطا هو في اخر شي في الكود

#4

انا لحتى الان مش عارف الاقي الحل

ياريت حد يساعدني

ولو بالفكرة وانا باكمل الحل

#5

السلام عليكم

قمت بتعديل الخطأ في الشيفرة

لم أقم بتجريبها

على العموم التعديلات تمت في المناطق ذات الخط الأحمر

import javax.swing.*;
public class S{
	public static void main (String[] args){
		String str1=JOptionPane.showInputDialog("Inter the first string :");
		String str2=JOptionPane.showInputDialog("Inter the second string :");

		String output="";

		if(isSubString(str1,str2))
		  output="("+str1+") is a substring of ("+str2+")";
		else
		  output="("+str1+") is not a substring of ("+str2+")";

		JOptionPane.showMessageDialog(null,output);
	}

	public static boolean isSubString(String st1,String st2){
		char[] n1=st1.toCharArray();
		char[] n2=st2.toCharArray();

		for (int i=0;i<n1.length;i++){
			for (int j=0;j<n2.length;j++){
				if(n1!=n2[j])
				return false;
			}
		}
		return true;
	}
}

الله معك

تم تعديل هذه المشاركة بواسطة alaadiaa في 3 مارس 2008 في 16:10

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

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

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

728x90.png

#6

مشكور كتير يا اخ علاء الدئن.

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

عالعموم مشكور كتير كمان مرة وانا مبسوط لتجاوبك معي

انا حاولت كتير ولم اجد الحل فلذلك ارجو منكم المساعدة

وشكرا للجميع

#7

انا اعتذر لك يا اخ علاء الدين

لاني كتبت

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

وكل ما في القصة اني وجدت

اقتباس
color="#FF0000

فاعتقدت انها اشياء جديدة في الجافا , ثم حذفتها.

لكنني حاولت وجربت مرة تانية فلم يكن هناك اي خطا , ولكن هذا الكود لا يعطيني الحل المطلوب لان الحل يعمل بطريقة خاطئة

فلذلك اقدم لك كل الشكر على محاولتك

الله معك

#8

يا أخي أنا حاولت أن أوضح لك باستخدام الألوان

لكنها لا تظهر في الكود

أنظر هل هناك مشكلة في الحل

سأراجع الموضوع في الليل بإذن الله

تحياتي

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

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

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

728x90.png

#9

لقد حاولت ايضا بعد ازالة الالوان

فالبرنامج يعمل بس المشكلة انو ما بيعطي النتائج الصحيحة

مشكور اخي كثيرا

وارجو ان تراجع الموضوع كما تقول

#10

سأحاول بإذن الله

لكن ليس اليوم

تم تعديل هذه المشاركة بواسطة alaadiaa في 4 مارس 2008 في 00:06

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

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

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

728x90.png

#11

موافق اخي الحبيب علاء

بس يا ريت ما تطول علينا كتير لاني بصراحة انا محتاج هاد الكود لانه جزء من مشروع صغير

مشكور اخي علاء انا عارف اني غلبتك معي

الله معك

#12

تحياتي أخ RRR

import javax.swing.*;
public class SimpleTest1{
	public static void main (String[] args){
		String str1=JOptionPane.showInputDialog("Inter the first string :");
		String str2=JOptionPane.showInputDialog("Inter the second string :");

		String output="";

		if(isSubString(str1,str2))
		  output="("+str1+") is a substring of ("+str2+")";
		else
		  output="("+str1+") is not a substring of ("+str2+")";

		JOptionPane.showMessageDialog(null,output);
	}

	public static boolean isSubString(String subString,String string){
		char[] subStringCharacters=subString.toCharArray();
		char[] stringCharacters=string.toCharArray();
		if(subStringCharacters.length>stringCharacters.length)
			return false;
		int j,temp;
		for (int i=0;i<stringCharacters.length;i++){
			temp=0;
			for (j=i;j<i+subStringCharacters.length;j++){
				if(subStringCharacters[temp]!=stringCharacters[j]){
					break;
				}
				temp++;
			}
			if(temp==subStringCharacters.length)
				return true;
		}
		return false;
	}
}

لا عليك فقط لماذا لا تستخدم isSubString الموجودة في String

هل هنالك مشكلة ما؟

راجع الشيفرة وجربها

وانظر هل هناك bugs فيها

بصراحة احتاجت مني الشيفرة إلى بعض التعديلات على أسماء المتغيرات

لكي أستطيع التعديل عليها كنت سأرجع الأسماء إلى الأصل

لكني أصبت بالكسل

ثم رأيت أنك قد تستفيد منها فأبقيتها

تحياتي

الله معك

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

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

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

728x90.png

#13

تحياتي اخ علاء الدين

لقد قمت بتجربة البرنامج واشتغل بالطريقة التي نريدها (الصحيحة).

اقدم لك كامل الشكر على اهتمامك بموضعي وعلى المحاولة معي اكثر من مرة واسال الله ان يكتب هذا العمل في ميزان حسناتك.

اما بالنسبة لعدم استخدامي ل isSubString الموجودة في String ؟

فذلك لانه ما هو مطلوب في هذا البرنامج ان تعمل method من عندنا تقوم بنفس عمل ال SubString مع عدم استخدامها كما هي .

اما بالنسبة للتغيير على اسماء المتغيرات فلا عليك فهذا العمل ليس بالاهمية الكثيرة ,فانا سوف اقوم بتغييرها كما هو مناسب.

ارجو ان لا اكون قد اطلت عليك

واني اقدم لك الشكر ايضا لانك تجعل غيرك يستفيد مما لديك من العلم.

تحياتي

الله يوفقك

RRR

#14

العفو أخي الكريم

اللهم انفعنا بما علمتنا وعلنا ما ينفعنا

تحياتي

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

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

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

728x90.png

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