0

我有两个连续的 for 循环,我需要将其中一个变量的值传递给另一个 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 变量(从第二个 for 循环),这样我就不会从 0 开始,而是从 x 的值开始(在中断之前第一个 for 循环)...

4

4 回答 4

1

它看起来像 Java,是吗?

您必须在循环块之外声明“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

您需要了解 Java 块作用域:

像这样在for循环之外声明你的变量

// Declare what you want to access outside here.
...
for(int x = 0; x< sentence.length(); x++)  {
于 2013-02-12T14:12:33.843 回答
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
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 回答