0

こんにちは、文字列からいくつかの整数を取得するために使用する次のコードを取得しました。インデックスの文字が「-」で、数値を整数配列に入れることができる場合、文字列を次の数値と組み合わせることにより、負の整数と正の整数を正常に分離しています...

   //degree is the String i parse

   String together="";
      int[] info=new int[degree.length()];
      int counter=0;

       for (int i1 = 0; i1 < degree.length(); i1++) {

         if (Character.isSpace(degree.charAt(i1))==false){ 
            if (Character.toString(degree.charAt(i1)).equalsIgnoreCase("-")){
                together="-";
                             i1++;

            }
             together = together + Character.toString(degree.charAt(i1));

            info[counter]=Integer.parseInt(together);
         }
         else if (Character.isSpace(degree.charAt(i1))==true){
             together ="";
            counter++;
         }

しかし、私はこの奇妙な問題に行きます....文字列は「4 -4 90 70 40 20 0 -12」とまったく同じように見え、コードは整数を解析して配列に入れます。最後の「-12」番号を除く、私の配列への負と正の数...何かアイデアはありますか?

4

1 に答える 1

2

あなたの問題にはもっと簡単な解決策があると思います:

// First split the input String into an array,
// each element containing a String to be parse as an int
String[] intsToParse = degree.split(" ");

int[] info = new int[intsToParse.length];

// Now just parse each part in turn
for (int i = 0; i < info.length; i++)
{
    info[i] = Integer.parseInt(intsToParse[i]);
}
于 2011-09-09T10:56:07.050 に答える