我试图使用for循环跳过值。像
这样的东西for(int i = 32; i <= 255 - but skip 128 to 159; i++) {
char ascii = (char) i;
System.out.println(ascii);
}
有什么建议吗?谢谢!
答案 0 :(得分:11)
在循环开始时使用它:
for(int i = 32; i < 256; i++) {
if(i == 128) i = 160;
//...
}
这比简单地继续好多了。你不想迭代超过128到159;你会浪费时间。
答案 1 :(得分: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);
}
答案 2 :(得分:3)
为了完整性,这也是可能的
In [11]: new_data = {}
In [12]: for key in data:
...: _,_,k = key.rpartition('/')
...: new_data.setdefault(k, []).append(key)
...:
In [13]: new_data
Out[13]:
{'0': ['0.0.0.0/0'],
'16': ['100.68.0.0/16', '100.69.0.0/16'],
'20': ['100.107.0.0/20', '100.107.64.0/20'],
'22': ['100.107.0.0/22'],
'24': ['100.107.0.0/24', '100.107.1.0/24', '100.107.2.0/24'],
'32': ['100.107.0.31/32', '100.107.0.3/32']}
答案 3 :(得分: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;
}
}
答案 4 :(得分:1)
或者像测试函数一样将测试添加到循环中:
for(int i = 32; i <= 255; i++) if (i < 128 || i > 159) {
char ascii = (char) i;
System.out.println(ascii);
}
答案 5 :(得分: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);
}
}
}
答案 6 :(得分:0)
您可以在循环中添加if语句.-
for(int i = 32; i <= 255; i++) {
if (i < 128 || i > 159) {
char ascii = (char) i;
System.out.println(ascii);
}
}
答案 7 :(得分: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);
}
答案 8 :(得分:0)
你可以试试这个:
for (int i=32; counter<=255; i++){
if (counter>=128 && counter<=159) {
continue;
}
char ascii = (char) i;
System.out.println(ascii);
}