class CB
{
public static void main(String[] args)
{
int num =0;
int count = 0;
while(num++<100)
{
if(num%5!=0 || num%7!=0)
continue;
count++;
System.out.println(num);
}
System.out.println("count : " +count);
}
}
여기서 제 생각엔 결과가
5
10
15
17
20
21
25
.
.
.
이렇게 나오는데 돌려보면
35
70
2 이렇더라구여
||연산자는 둘중에 하나만 트루면 트루니까
num이 5가 되면 num=5 = true로 continue문을 빠져나오고 count++을 실행시킨다 생각햇는데
질문쓰다보니까 이해했어요
if(num%5!=0 || num%7!=0) 소스에선 이 상태가 트루니까
계속해서 continue를 실행
num이 5가 되서 false가 되도 num%7!=0으로 true가 되니까 || = true로 continue가 실행
결국엔 ||로 둘중 하나만 true라도가 아니라 둘다 false를 만들어야 하는거군요
정말 간단한거지만 이해가 안되는 소스 스스로 풀어냈을 때 너무 좋아요
혼자 막 &&로 해서 결과보고 ==으로도 해보고 그랬거든요
|| 둘중 하나라도 true 고정관념땜에 한시간정도 해맨것 같네요
프갤 형아들 화이팅
화잍이