2016-07-31 100 views
3

我正在用java编写一个函数,它计算字符串中空格后面的字符数。这个问题对你们中的一些人来说可能听起来微不足道。如何在Java中for循环中重新使用变量而不初始化一个新变量?

public int countAfterSpaces(final String a){ 
    int position = 0; // escapes leading whitespaces 
    while(position<a.length() && a.charAt(position)==' ') position++; 

现在我想重新使用这个变量(位置)在for循环中而不在初始化语句一个新的(我)。目前我正在这样做。

int count = 0; 
    for (int i=position; i<a.length; i++) count++; 
    return count; 
} 
+2

为什么不使用'while'循环,而不是'for'? –

+0

尽管在这种情况下循环不是完全必要的。 –

+0

是的,我的问题与此有点不同,我只是简单一点。我基本上试图解决atoi功能。 这需要我计算出现任何数字字符之前的空格数。 – aditya

回答

4

你并不需要声明一个新的变量:

for (; position<a.length; position++) count++; 

你可以保留的任何领域循环空白。

或者更好的是,为什么不:

count = a.length - position; 
+1

太好了。这似乎工作。 10分钟后我会交流。 – aditya