2011-12-31 15 views
0

この番号はリンクリストノードにあります。それは27桁である:980089673400089200098129823リストの大きなノードを別のリストの小さなノードに分割する方法はありますか?

Iは、(ノード内のすべての4桁)新しいリストで、以下にそれを断片化する方法が必要です。

27 - > 9800 - > 3400-> 0892 - > 8967 - > 0009 - > 8129 - > 823

+2

これは簡単です。これまでに何を試しましたか? – Tudor

答えて

1

1)数値を文字列に変換します。

2)多くのサブセットの文字列を検索し、新しいリストに挿入し(それを設定、4をハードコードしないでください)

3)4で文字列の長さを分割します。

かなりシンプルですが、あなたのためにコードを書く人を探していないことを願っています。 お手伝いをしてください。

String str = String.valueOf(<your integer>); 
int strLength = str.length(); 
int subStrCount = strLength/4; 
List newList = new LinkedList(); 
for(int i=0;i<subStrCount;i++){ 
newList.add(str.subsctring(i*0, (i+1)*4)); 
} 
newList.add(subStrCount*4, strLength); 
+0

あなたは私に断片化のサンプルを送っていますか?私の問題は「多くの部分文字列を見つけ、新しいリストに挿入する」 – user1124292

+0

アイデアを伝えるスニペットを追加しました。私は私の携帯電話でスニペットがコンパイルエラーやバグを持っている可能性があるので、デバッガを使用してソートしてください。 – Scorpion

0

このコードは、トリックを行う必要があります。

for (int i = 0; i*4 < str.length(); i++) { 

      if (((i * 4 + 4) >= str.length())) { 
       System.out.println(str.substring(i * 4, 27)); 
      } else { 
       System.out.println(str.substring(i * 4, i * 4 + 4)); 
      } 
     } 

あなたはint型の使用に変換する必要がある場合:

int n = Integer.parseInt("123"); 
0
String s = node.value(); 
int [] numbers = s.length%4 ? s.length/4 : s.length/4 + 1; 
for (int i=0; i<numbers.length; ++i) { 
    numbers[i] = Integer.parseToInt(s.substring(i*4, 4)); 
} 

return numbers; 

数字はすべての桁が含まれます

関連する問題