# فناوری جاوا > برنامه‌نویسی جاوا > Java SE : نگارش استاندارد جاوا > سوال: بررسی وجود یا عدم وجود یک مقدار در یک مجموعه

## نغمه

من یک جای برنامه ام احتیاج دارم در صورتی که مقدار متغیر در یک مجموعه مقادیر باشد یک کاری انجام دهد در یک مجموعه دیگر باشد کار دیگری انجام دهد میشه از دستور سوئیچ به صورت زیر استفاده کنم
switch(Variable){
  case Value1 or value2 or ... :
    Statement;
    break;
  case .....:
    Statement;
    break;
  case .....:
    Statement;
    break;
    .
    .    .
  default:
    Statement;
}

----------


## kobari

از همين switch كه اشاره كرديد ميشه استفاده كرد:
[ 
CODE] 
 switch(n) {
   case 1:
   case 2:
   case 3:
    doTask1();
    break;
   case 4:
    doTask2();
    break;
   default :
    doTask3(); 
  }
[/CODE]

----------


## نغمه

من می خوام ورودی switch رشته باشه ولی خطای زمان کامپایل می ده باید چی کار کنم؟

----------


## javaphantom

> من می خوام ورودی switch رشته باشه ولی خطای زمان کامپایل می ده باید چی کار کنم؟


تو جاوا 7 اومده نمی تونی توی ورژن کمتر از 7 این کار رو انجام بدی.
این همه سایت هست که می تونی بری توش این سوالات رو که قبلا مطرح شده با مثال ببینی و یاد بگیری.


فقط با تایپ switch java example  توی سایت گوگل این همه جواب 

http://download.oracle.com/javase/tu...ts/switch.html
http://leepoint.net/notes-java/flow/...x-insults.html
http://www.roseindia.net/java/beginn...hExample.shtml

----------


## نغمه

یعن باید ورژن jdk  را افزایش بدم تو cmd ,ورژن را 1.6 نشون می ده لینک دانلود 7 را دارید که اجازه دانلود بده

----------


## javaphantom

> یعن باید ورژن jdk  را افزایش بدم تو cmd ,ورژن را 1.6 نشون می ده لینک دانلود 7 را دارید که اجازه دانلود بده


هنوز سان رسما بیرون نداده این ورژن رو.

مشکلت چیه که می خوای همچین کار کنی. بایک مثال توضیح بده تا بشه کمکت کرد.

----------


## نغمه

یک متغیر رشته دارم می خوام با استفاده از دستور سوئیچ با مقادیر متفاوت که متغیر رشته می گیره عملیات متفاوتی انجام بشه

----------


## javaphantom

> یک متغیر رشته دارم می خوام با استفاده از دستور سوئیچ با مقادیر متفاوت که متغیر رشته می گیره عملیات متفاوتی انجام بشه


با سویچ نمی تونی بنویسی با if بنویس

----------


## نغمه

switch(str) {
        case 1: a
        case 2: ab
        case 3: abc
        case 4: abcd
--task
case 6
case7
task--
//etc
این را چه جوری میتونم با if بنویسم در بخش تست شرط if میشه از or استفاده کرد؟

----------


## L u k e

اصلا switch جاوا رشته رو ساپورت نمی کنه مگه اینکه از Enum  ی چیزی استفاده کنی
خوب کاری نداره که if و else  و اینا می شه دیگه :دی

----------


## نغمه

> اصلا switch جاوا رشته رو ساپورت نمی کنه مگه اینکه از Enum  ی چیزی استفاده کنی
> خوب کاری نداره که if و else  و اینا می شه دیگه :دی


تعداد case ها بالاست

----------


## نغمه

plzzzzzz    helppppppppp

----------


## L u k e

خوب از ترکیب دوتاشون استفاده کن یه switch بزار بعد توش با if کار کن

----------


## نغمه

> تو جاوا 7 اومده نمی تونی توی ورژن کمتر از 7 این کار رو انجام بدی.
> این همه سایت هست که می تونی بری توش این سوالات رو که قبلا مطرح شده با مثال ببینی و یاد بگیری.
> 
> 
> فقط با تایپ switch java example  توی سایت گوگل این همه جواب 
> 
> http://download.oracle.com/javase/tu...ts/switch.html
> http://leepoint.net/notes-java/flow/...x-insults.html
> http://www.roseindia.net/java/beginn...hExample.shtml


من jdk-7-ea-bin-b113-windows-i586 را دانلود کردم همون ورژن 7 است؟

----------


## javaphantom

> من jdk-7-ea-bin-b113-windows-i586 را دانلود کردم همون ورژن 7 است؟


http://puretechie.blogspot.com/2009/...switch-on.html

----------


## نغمه

من jdk-7-ea-bin-b113-windows-i586 را نصب کردم با net beans ide 6.9.1 ولی باز خطا می ده که سوییچ رشته را ساپورت نمی کنه ورژن 7 را نصب کنید!!!!!

----------


## kobari

موقتآ تا رسيدن جاوا 7 مي تواني از روشهاي زير به مقصودت برسي
1 - اگر محتواي رشته ات فقط اعداد هستند :



switch(Integr.parseInt(str)){
case 1: doTask1();
break;
case 2: doTask3();
break;
..
}


2 - در غير اينصورت از if بصورت زير استفاده كن:


if(str.equals("text1") || str.equals("text2")) 
doTask1();
else if(str.equals("text3"))
doTask2();
...

----------


## Diako.Smart

بهتره بدونی if از switch انعطاف پذیرتره

----------

