2

我正在尝试使用 for 循环跳过值。就像是

for(int i = 32; i <= 255 - but skip 128 to 159; i++) {

    char ascii = (char) i;
    System.out.println(ascii);

}

有什么建议么?谢谢!

4

9 回答 9

13

在循环开始时使用它:

for(int i = 32; i < 256; i++) {
    if(i == 128) i = 160;
    //...
}

这比简单地继续要好得多。您不想迭代 128 到 159;你会浪费时间的。

于 2013-04-08T01:18:25.377 回答
3

您可以跳过不需要的元素,如下所示:

for(int i = 32; i <= 255; i++) {
    if (i >= 128 && i <= 159) continue;
    char ascii = (char) i;
    System.out.println(ascii);
}

或将循环一分为二,如下所示:

for(int i = 32; i <= 127; i++) {
    char ascii = (char) i;
    System.out.println(ascii);
}
for(int i = 160; i <= 256; i++) {
    char ascii = (char) i;
    System.out.println(ascii);
}
于 2013-04-08T01:18:13.847 回答
3

只是为了完整性,这也是可能的

for (int i = 32; i <= 255; i = (i == 127 ? 160 : i + 1)) {
    char ascii = (char) i;
    System.out.println(ascii);
}
于 2017-03-18T22:19:32.133 回答
1
for(int i = 32; i <= 255 - but skip 128 to 159; i++) {
    char ascii = (char) i;
    System.out.println(ascii);
    if(i == 127) {
        i = 160;
    }
}
于 2013-04-08T01:18:46.370 回答
1

或者像函数式语言一样将测试添加到循环中:

for(int i = 32; i <= 255; i++) if (i < 128 || i > 159) {
    char ascii = (char) i;
    System.out.println(ascii);
}
于 2013-04-08T01:47:33.523 回答
1

这是一些代码:

public static void main(String[] args) {
    for(int i = 32; i <= 255; i++) {
        if (i < 128 || i > 159) {
            char ascii = (char) i;
            System.out.println(ascii);
        }
    }
}
于 2018-03-02T22:44:22.590 回答
0

您可以在循环中添加一个 if 语句。-

for(int i = 32; i <= 255; i++) {
    if (i < 128 || i > 159) {
        char ascii = (char) i;
        System.out.println(ascii);
    }
}
于 2013-04-08T01:18:46.183 回答
0

我会做两个循环:

    int MIN = 128;
    int MAX = 159;

    for(int i = 32; i < MIN ; i++) {

    char ascii = (char) i;
    System.out.println(ascii);
}

    for(int i = MAX + 1; i < 255; i++){
     char ascii = (char) i;
    System.out.println(ascii); 
    }
于 2013-04-08T01:20:22.330 回答
0

你可以试试这个:

for (int i=32; counter<=255; i++){
    if (counter>=128 && counter<=159) {
    continue;
    }
char ascii = (char) i;
System.out.println(ascii);
}
于 2021-02-24T01:42:01.730 回答