-1

数字の文字列があるシナリオがあります

String Lastnum = "123456789500020"

firstnum = 1234567895 secnum = 00020 00030 00040 これを 2 つの文字列に分割する必要があります。

  1. 最初に 10 桁の数字を収集し、
  2. 秒数。

ここでの問題は、2 番目の数値が常に動的であり、2 桁または 5 桁のどちらであるかが不明であり、2 番目の数値が文字列の配列である必要があることです。コードの処理方法を教えていただければ幸いです。

for (int i=0; i<Lastnum.length();i++)
{
    String ponum = Lastnum.substring(0,10);
    String[] item = Lastnum.substring(11, (Lastnum -ponum));
}
4

4 に答える 4

2

の 2 番目の部分が のStringように見える場合secnum、つまりスペースで区切られている場合、次のようにすることができます。

String ponum = lastnum.substring(0,10);
String[] item = lastnum.substring(10).split(" ");

ループを追加した理由がわかりません。for同じ一連の計算を繰り返すだけlastnum.length()です。

lastnumまた、 Java の命名規則に準拠するために、小文字で始まるように変数を変更したことに注意してください。

于 2013-05-01T19:57:34.837 に答える
1
String Lastnum = "123456789500020"
String firstNumber = Lastnum.substring(0,10);
String secondNumber = Lastnum.substring(10, Lastnum.length());

上記のコードは、インデックス 0 から始まる文字列の最初の 10 (0...9) 文字を取得し、それを「firstNumber」に割り当てます。次に、残りの文字、インデックス (10... Lastnum の長さ -1) を取得します。

String Lastnum = "123456789500020 00030 00040" のような入力が与えられ、最初の 10 桁 [1234567895] と残りの桁の配列 (スペースで示される) を返したい場合

String Lastnum = "123456789500020 00030 00040";
String ponum = Lastnum.substring(0,10);
String[] remainingNumbers= Lastnum.substring(10, Lastnum.length()).split(" ");

これは基本的に最初の結果と同じことを行いますが、文字列の末尾をスペースでさらに分割します

結果は

ponum="1234567895"
remainingNumbers={"00020", "00030", "00040"}

どちらの場合も、文字列をループする理由はありません...

于 2013-05-01T20:06:27.373 に答える
1

秒数に関する部分は完全に明確ではありません。動的とはどういう意味ですか?

とにかく、どうですか:

String ponum = Lastnum.substring(0,10);
String sec = Lastnum.substring(10);

で開始する?秒に文字列の配列が必要な理由がわかりません。最初の項目の文字列は何ですか? 2番目は何ですか?

于 2013-05-01T20:02:57.107 に答える
1

secnum各メンバーの間にスペースを追加して無限に印刷しようとしていると思います。次のことを試すことができます。

for(int i=0;;i++)
{
    ponum = lastnum.substring(0,10);
    item[i] = lastnum.substring(10)+" ";
}
于 2013-05-01T20:28:07.260 に答える