بهترین فرصت آموزش در جشنواره تخفیف های توسینسو بهترین فرصت آموزش در جشنواره تخفیف های توسینسو
مانده تا پایان تخفیف ها
مشاهده دوره ها
0

جدا کردن خونه های آرایه با split و رشته جدید در آرایه جدا

سلام.چه طوری میشه رشته های داخل خونه های یک ارایه رو به وسیله split() جدا کرد و بعد رشته های جدید رو تو ارایه ی جداگونه ای ریخت؟فرضا تو خونه 1 از ارایه ی a این رشته وجود داره:3*x^4 که من میخوام از ^ جداشون کنم و تو یه ارایه جدید بریزم و همینطور تا اخر .باید چی کار کنم؟

پرسیده شده در 1395/02/25 توسط

7 پاسخ

0

نمیدونم چه طوری تشکرمو بیان کنم.ممنونم

پاسخ در 1395/02/26 توسط
0

ممنون ولی وقتی رشته ی مورد نظر تو ارایه ای مث array1 باشه و ما بخوایم کل شئ های درون ارایه رو اینشکلی کنیم باید چه کار کرد....من از حلقه forاستفاده کردم ولی عبارت به دست اومده هی تو سه خونه اول ارایه دوم ریخته میشه.مشکل کارم چی؟

پاسخ در 1395/02/25 توسط
0

این پیغام رو میده که zarib1 cannot be resolved to a variable.......

پاسخ در 1395/02/26 توسط
0
for(int j=0;j<tokens.length;j++)
	   { String[] zarib1=tokens[j].split('*');
	  }
	for(int i=0;i<zarib1.length;i++)
	   {
		   System.out.println(zarib1[i]);

من اینطوری نوشتم که خطا میده.tokensارایه ای که رشته هام توشن.

پاسخ در 1395/02/25 توسط
0

سلام به شما Itpro ای عزیز.

برای این کار چون علامت ^ معنی خاصی توی regular expression داره شما باید به شکل زیر این رشته را از یکدیگر جدا نمایید

public class StringSplit {
    public static void main(String[] args){
        String str="x^4*3";
        String[] splited=str.split("\\^");
        for (int i=0;i<splited.length;i++){
            System.out.println(splited[i]);
        }
    }
}

یعنی علامت ^ را بین دوعدد بک اسلش بذارید. برای علامت ضرب نیز می تونید اون رو بعد از دو عدد بک اسلش بیارید.

پاسخ در 1395/02/25 توسط
1

خب شما آرایه zarib1 را داخل حلقه for اول تعریف کرده اید. بنابراین این آرایه فقط در داخل همان بلوک قابل دسترس است. پس شکل درست برنامه این است که حلقه دوم را در داخل حلقه اول بنویسید یعنی کد شما به شکل زیر خواهد بود:

for(int j=0;j<tokens.length;j++)
       { String[] zarib1=tokens[j].split('\\*');
      
    for(int i=0;i<zarib1.length;i++)
           System.out.println(zarib1[i]);
}

همانطور هم که در پست قبلی گفتم علامت ستاره را باید بعد از دوتا بک اسلش بیاورید.

پاسخ در 1395/02/26 توسط
0

من دقیقا متوجه مشکل شما نشدم اگر ممکنه کد برنامتون رو بذارید.

متد Split روی رشته ها کار می کنه و فقط روی یک رشته کار می کنه حالا شما باید هر عبارت رو به صورت یک رشته در نظر بگیرید و بر روی آن این متد رو اجرا کنید و نتیجه را در یک آرایه دوم بریزید.

پاسخ در 1395/02/25 توسط

پاسخ شما