0

2 つの連続する for ループがあり、変数の値の 1 つを他の for ループ内のインスタンスに渡す必要があります。

for(int x=0; x< sentence.length(); x++)  {

  int i;
  if (!Character.isWhitespace(sentence.charAt(x)))
      i = x ;
      break;    
}

for (int  i  ; i < sentence.length(); i++) {
  if (Character.isWhitespace(sentence.charAt(i)))
     if (!Character.isWhitespace(sentence.charAt(i + 1)))
}

これは私のプログラムのほんの一部であり、私の目的は x の値 (最初の for ループから) を i 変数 (2 番目の for ループから) に割り当てることです。最初の for ループ)...

4

4 に答える 4

1

ジャバみたいでしょ?

ループ ブロックの外で "i" 変数を宣言する必要があります。ところで、「i」がループ カウンターでない場合は、この変数に意味のある名前を付けることをお勧めします (x はループ カウンターには関係ありません)。

また、ブレークが条件式ブロック (最初のループ) の外にあるため、バグがある可能性があります。

int currentCharPosition = 0; //give a maningful name to your variable (keep i for loop counter)

for(int i=0; i< sentence.length(); i++) {

            if (!Character.isWhitespace(sentence.charAt(x))){  
                currentCharPosition  = x ;
                break;  //put the break in the if block
            }

}

while( currentCharPosition < sentence.length()) {
            ...
            currentCharPosition++;
}
于 2013-02-12T14:12:35.523 に答える
0
int sentenceLength = sentence.length();
int[] firstLoopData = new int[sentenceLength -1];
for(int x=0, index=0; x < sentenceLength; x++)  {
    if (!Character.isWhitespace(sentence.charAt(x))){
        firstLoopData[index] = x;
        index++; 
        break; 
    }   
}

for(int tempInt: firstLoopData){
    //your code...
}
于 2013-02-12T14:28:26.787 に答える
0
int x;
for(x = 0; x < sentence.length; x++)
   if(!Character.isWhitespace(sentence.charAt(x)))
      break;

for(int i = x; i < //And so on and so fourth
于 2013-02-12T14:13:47.150 に答える
0

Java ブロック スコープについて知っておく必要があります。

このようにforループの外側で変数を宣言します

// Declare what you want to access outside here.
...
for(int x = 0; x< sentence.length(); x++)  {
于 2013-02-12T14:12:33.843 に答える