作者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
1F:→ chrisho:if 判断式之後若只有一行,最好不要合并; 然後如果要省时 04/01 12:15
2F:推 LPH66:除非你要判断一千万笔再来考虑要不要省下这个判断 04/01 12:16
3F:→ chrisho:先加好0~10,再减去使用者输入的值 04/01 12:16
4F:→ rofellosx:a没必要省这种时间 04/01 12:16
5F:→ superppp:当然0~10只是个例子,若资料量有近亿笔,这个if就很碍事 04/01 13:02
6F:→ superppp:if 判断式之後只有一行,最好不要合并->可以请教为什麽吗 04/01 13:05
7F:→ tkcn:拆成两个 for 吧,这样就不用 if 了 04/01 13:16
8F:推 zhengdavy:同意楼上,用两个loop 04/01 14:38
9F:→ asilzheng:不要合并是怕为了漏看吧 04/01 21:51