Java 在字符串末尾循环时结束

Java 在字符串末尾循环时结束,java,while-loop,Java,While Loop,我想结束whileloop,不管长度如何。 对于python,当索引超过字符串长度时,将返回(-1)。 但是我找不到在java中如何做同样的事情 while(true) { System.out.println("Letter nur " + (i+1) + " is " + name.charAt(i)); if(name.charAt(i)==-1){ break } i = i + 1; 是否可以,

我想结束whileloop,不管长度如何。 对于python,当索引超过字符串长度时,将返回(-1)。 但是我找不到在java中如何做同样的事情

 while(true) {
        System.out.println("Letter nur " + (i+1) + " is " + name.charAt(i));
        if(name.charAt(i)==-1){
            break
        }
        i = i + 1;

是否可以,如果可以,如何使用?

使用
进行循环:

for (int i = 0; i < name.length(); i++) {
    System.out.println("Letter nur " + (i+1) + " is " + name.charAt(i));
}
for(int i=0;i
为此,您可以轻松使用length()函数。但根据问题,您希望在字符串末尾结束while循环。这可以通过以下方式完成:

    int i=0;
    while(true){
        try{
            System.out.print(""+as.charAt(i));
            i++;
        }
        catch(java.lang.StringIndexOutOfBoundsException e){
            break;
        }
    }

在固定长度的序列上迭代时,使用
for
循环,而不是
while
循环。Python和Java都是如此,我不知道如何在Python中获得a-1。字符串上没有
charAt
方法,索引超过末尾会引发一个异常。@Fredrarson可能将OP与切片语法混淆,您可以使用
-1
作为索引?@code学徒:可能,但这似乎与这个问题关系不大。您能在Java中为(char c:s)
执行
吗?我已经很久没有写Java代码了。@code学徒你可以为(char c:s.toCharArray())做
。但是你不能打印
i+1
。你也可以把
if
的测试部分放到
while
中。但我认为范围是最好的主意。谢谢!我在做一个练习,我想比较一下while和for循环的时间。但是如果我比较while(ifor
循环更为传统。