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

سؤال عن ال String switch case

مغلق
بدأه المستقيل في 1 يونيو 2007 · 11 رد · 986 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقد قمت بكتابة كود string switch case وعند عمل كمبايل لا يعطي اي خطأ وعن تنفيذ هذا الكود دائما ينفذ الامر الذي داخل ال default

وهذا جزء من الكود بحيث ان المتغير sms عبارة عن String

String [] keys = new String [] {"Str1", "str2", "str3", "str4"};


 switch(java.util.Arrays.asList(keys).indexOf(sms)) {

 case 0:
   {
	  System.out.println("first");
						 }

 case 1:
   {
	  System.out.println("second");
						 }

 case 2:
   {
	  System.out.println("therd");
						 }

 case 3:
   {
	  System.out.println("fourth");

						 }

 default:
  {
	 System.out.println("WRONG DATA");

					  }

 }
#2

تأكد من كتابتك لعناصر المصفوفه (حروف كبتل وسمول)، وأضف بريك في كل كيز

#3

اشكرك على الرد اخي عيسى

تاكدت من كتابة العناصر ووضعت بريك في نهاية كل كيس

ولكن نفس المشكلة

#4

اكتب الكود ( كامل) ووضح المشكله

#5

اريد ان اسأل

هل هذه الطريقة صحيحة في عمل switch case for string؟

وهل توجد طريقة اخرى افضل من هذه الطريقة؟

#6

أعتقد أنه يجب عليك أن تضع الكلمه break بعد كل case

مثال :

 case 0 :
print ( "first ");
break;
case 1 :
print ( "second" );
break;
#7

عندما لاتضع الكود كامل ، ولاتحدد ماهي مشكلتك بالتاكيد ان الاجوبه لاتكون واضحه

ه بالجافا لايمكنك أن تقوم بعملية switch إلا على int ، وفي مثالك طريقة التحويل صحيحه

#8

شكرا لردودكم

عندي سؤال

لو كانت قيمة المتغير sms = "str2" المفروض من البرنامج طباعة كلمة second التي في الكيس رقم 1

ولكن البرنامج يطبع كلمة WORONG DATA الموجوده في default

#9
اقتباس
A switch works with the byte, short, char, and int primitive data types. It also works with enumerated types (discussed in Classes and Inheritance) and a few special classes that "wrap" certain primitive types: Character, Byte, Short, and Integer

يا أخي كما قال الأخ عيى لك، ال switch لا تعمل علي String

#10

أخي الكود راح يشتغل لو عملت break عند نهاية كل case

و ما فيه أي مشكلة جربه

 String [] keys = new String [] {"Str1", "str2", "str3", "str4"};
		String sms = "str3";

		switch(java.util.Arrays.asList(keys).indexOf(sms)) {

		case 0:
		{
			System.out.println("first");
			break;
		}

		case 1:
		{
			System.out.println("second");
			break;
		}

		case 2:
		{
			System.out.println("therd");
			break;
		}

		case 3:
		{
			System.out.println("fourth");
			break;

		}

		default:
		{
			System.out.println("WRONG DATA");
			break;
		}

		}
#11

اشكرك اخي علي الكود اشتغل معي ولكن عند اضافت هذا الجزء من الكود الى الكود كامل يعطي نفس المشكله

#12

اسمعني حبيبي لا تضع اقواس بعد كل كيس امسحها

ثانيا: ضع متغير من نوع سترينج للكيس باسم name

ثالثا: ضع الاقواس بعد جملة default

رابعا: ضع متغير من نوع سترينج اسمه m

حول الـm الى انتجر ضعها في اقواس السوتش

وشكرا

anty_boolean@hotmail.com

من احب شيء ابدع وابتدع فيه

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

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