2015-04-25 39 views
2

我想分配複數到二進制值,我正在使用複雜的類,很容易獲得;但是當我將複數附加到字符串緩衝區時,返回到一個字符串中,一個複雜的數字需要多個條目。我如何將1號碼放入1個條目並在之後閱讀?結束字符串數據,如「2.0 + 2.0i2.0-2.0i2.0 + 2.0i2.0-2.0i-2.0 + 2.0i2.0 + 2.0i ....」。現在0處的字符是'2',1處的字符是'。'等等..我需要在0的字符是2.0 + 2.0i。之後我應該能夠分離每個條目的真實和虛構部分。複雜數字在java中的字符串/數組?

StringBuilder symbs = new StringBuilder(); 
Complex s1 = new Complex(-2,-2); 
Complex s2 = new Complex(+2,-2); 
Complex s3 = new Complex(+2,+2); 
Complex s4 = new Complex(-2,+2); 
/////////////////////Symbols to vector //////////////////// 
for(int i=0; i< plo.length()-1; i+=2) 
{ 
    if(plo.charAt(i)=='1' && plo.charAt(i+1)=='0') 
    { 
     symbs.append(s1); 
    } 
    else if(plo.charAt(i)=='0' && plo.charAt(i+1)=='1') 
    { 
     symbs.append(s2); 
    } 
    else if(plo.charAt(i)=='0' || plo.charAt(i+1)=='0') 
    { 
     symbs.append(s3); 
    } 
    else if(plo.charAt(i)=='1' && plo.charAt(i+1)=='1') 
    { 
     symbs.append(s4); 
    } 
} 
printComplex(symbs.toString()); 

回答

1

「我需要0的字符爲2.0 + 2.0i」。那是不可能的,因爲字符是一個字符。

可以追加後每一個複雜的分號,然後分裂爲他們

-1

使用正則表達式模式匹配這樣[[0-9].0+[0-9].0i]+ 相似傳遞字符串到Matcher編譯器和檢查可用模式給定的字符串中找到。在此基礎上提取具有編程邏輯的值以獲得實部和虛部。

上的正則表達式串

實部說明

[0-9] - >它檢查值從0到9,接着.和隨後0

虛部

[0-9] - >它檢查值從0到9,然後是.,然後是0,然後是i