我有两个连续的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的值(从fírstfor循环)分配给i变量(来自第二个for循环),这样我就不会从0开始但是从x的值开始(在打破第一个for循环之前)......
答案 0 :(得分: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++;
}
答案 1 :(得分:0)
您需要了解Java块范围:
将变量声明在for循环之外,如下所示
// Declare what you want to access outside here.
...
for(int x = 0; x< sentence.length(); x++) {
答案 2 :(得分: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
答案 3 :(得分: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...
}