2016-07-22 38 views
-2

我有一個輸入字符串「0102030405」我怎樣才能將這個數字分成兩部分,這樣它的輸出就是String[] ("01", "02", "03", "04", "05")如何將數字串轉換爲java中的int數組

+0

你能給一個例子嗎? –

+0

您必須以上述字符串的子字符串乘以2的倍數。 –

+0

@limbo你可以看到'java'標籤來檢測語言:P – Khan

回答

2

嘗試此,

String a = "0102030405"; 
System.out.println(Arrays.toString(a.split("(?<=\\G.{2})"))); 
+0

我試過這段代碼是工作,如果我在eclipse中編碼它給出[12,23,56]的輸出,但是當我在android工作室嘗試它時,它給了我[12,2345]的輸出是什麼這位先生的原因和補救措施是什麼? –

2
String input = "0102030405"; 

    String[] output = new String[input.length()/2]; 

    int k=0; 
    for(int i=0;i<input.length();i+=2){ 
     output[k++] = input.substring(i, i+2); 
    } 

    for(String s:output){ 
     System.out.println(s); 
    } 
-1
import java.util.ArrayList; 
public class HelloWorld{ 
    public static void main(String []args){ 
     HelloWorld h1 = new HelloWorld(); 
     String a = "0102030405"; 
     System.out.println(h1.getSplitString(a)); 
    } 

    private ArrayList<String> getSplitString(String stringToBeSplitted) { 
     char[] charArray = stringToBeSplitted.toCharArray(); 
     int stringLength = charArray.length; 
     ArrayList<String> outPutArray = new ArrayList<String>(); 
     for(int i=0; i <= stringLength-2; i+=2){ 
      outPutArray.add("" + charArray[i] + charArray[i+1]); 
     } 
     return outPutArray; 
    } 
} 

這裏String爲第一分割成字符數組。然後使用for循環將兩個數字連接起來並放入ArrayList中以返回。如果你需要一個數組返回,你可以改變返回類型爲String [],並在return語句將其更改爲

outPutArray.toArray(new String[outPutArray.size()]; 

如果你插入一個字符串有奇數個字符最後一個字符將被省略。改變循環條件來解決這個問題。

+0

我想我有先生,謝謝! –

0

你可以嘗試像讀一個字符串中的每兩個字符。 這可以通過解決:"(?<=\\G.{2})"

但我認爲一個更清潔的解決方案是這樣的:

string.substring(startStringInt, endStringInt); 

下面是一個完整的例子:

package Main; 

import java.util.ArrayList; 
import java.util.List; 

public class Test { 

    public static void main(String[] args) { 
     for (String part : splitString("0102030405", 2)) { 
      System.out.println(part); 
     } 
    } 

    private static List<String> splitString(String string, int numberOfChars) { 
     List<String> result = new ArrayList<String>(); 

     for (int i = 0; i < string.length(); i += numberOfChars) 
     { 
      result.add(string.substring(i, Math.min(string.length(), i + numberOfChars))); 
     } 

     return result; 
    } 
} 
相關問題