看板 java 關於我們 聯絡資訊
有個程式寫法的問題想請教, 有一段程式是印出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