我試圖跳過使用for循環的值。類似於Java - 跳過for循環中的值
for(int i = 32; i <= 255 - but skip 128 to 159; i++) {
char ascii = (char) i;
System.out.println(ascii);
}
有什麼建議嗎?謝謝!
我試圖跳過使用for循環的值。類似於Java - 跳過for循環中的值
for(int i = 32; i <= 255 - but skip 128 to 159; i++) {
char ascii = (char) i;
System.out.println(ascii);
}
有什麼建議嗎?謝謝!
使用此:
for(int i = 32; i < 256; i++) {
if(i == 128) i = 160;
//...
}
這比簡單地繼續。你不想迭代128到159;你會浪費時間。
您可以跳過您不想要的元素,像這樣:
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);
}
您可以添加一個if語句您loop.-
for(int i = 32; i <= 255; i++) {
if (i < 128 || i > 159) {
char ascii = (char) i;
System.out.println(ascii);
}
}
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;
}
}
我會做兩個環路內:
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);
}
或者測試添加到像函數式語言的循環:
for(int i = 32; i <= 255; i++) if (i < 128 || i > 159) {
char ascii = (char) i;
System.out.println(ascii);
}
只是爲了完整性,這也是可能
for (int i = 32; i <= 255; i = (i == 127 ? 160 : i + 1)) {
char ascii = (char) i;
System.out.println(ascii);
}
下面是一些代碼:
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);
}
}
}
沒有,你用if語句_START_。在循環的最開始,'if(i == 128)i = 160;'。這樣,一旦達到128,它就會變成160。 – Zyerah 2013-04-08 01:27:37
謝謝,這工作完美! – 0101011 2013-04-08 01:57:20