作者superppp (SUPERTHREEPPP)
看板java
標題[問題] 關於判斷一次就夠了的寫法
時間Fri Apr 1 11:28:17 2011
有個程式寫法的問題想請教,
有一段程式是印出0到10之間的整數,但不包含使用者輸入的值,如下:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
int index;
Scanner scanner = new Scanner(System.in);
index = scanner.nextInt();
for(int i=0; i<=10; i++){
if(index == i) continue; //跳過本身
System.out.println(i);
}
}
}
我的問題在於 if(index == i) continue; 這一行,如果index = 1
之後i從2到10 if還是會判斷9次,覺得有點浪費時間,
有沒有那較好的寫法是,如果if(index == i)有找到了,
之後不管i要跑幾次,都不用再來if這裡做比對?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.70.117.140
→ chrisho:if 判斷式之後若只有一行,最好不要合併; 然後如果要省時 04/01 12:15
推 LPH66:除非你要判斷一千萬筆再來考慮要不要省下這個判斷 04/01 12:16
→ chrisho:先加好0~10,再減去使用者輸入的值 04/01 12:16
→ rofellosx:a沒必要省這種時間 04/01 12:16
→ superppp:當然0~10只是個例子,若資料量有近億筆,這個if就很礙事 04/01 13:02
→ superppp:if 判斷式之後只有一行,最好不要合併->可以請教為什麼嗎 04/01 13:05
→ tkcn:拆成兩個 for 吧,這樣就不用 if 了 04/01 13:16
推 zhengdavy:同意樓上,用兩個loop 04/01 14:38
→ asilzheng:不要合併是怕為了漏看吧 04/01 21:51