2016-07-22 17 views
-2

入力文字列が "0102030405"です。この数値を2で分割して、出力が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

私は[12、23、56]の出力を与えた日食でそれをコードする場合、私はこのコードを試しましたが、私はアンドロイドスタジオでそれを試したときに[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; 
    } 
} 

、これを試してみてください。その後、forループを使用して2桁の数字を連結し、ArrayListに入れて戻ります。あなたが返すようにアレイが必要な場合は、文字列に戻り値の型を変更することができ、[]、あなたは文字列を挿入する場合はreturn文で

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

にそれを変更奇数文字数を持っている最後の文字は省略されます。ループ状態を修正して修正します。

+0

私は先生がいると思う、ありがとう! –

0

文字列の各2文字を読み取るようなものを試すことができます。 これはによって解決することができます:"(?<=\\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; 
    } 
} 
関連する問題