728x90
<문제>
1에서 10까지의 수를 이용해 아래와 같이 출력될 수 있도록 구현
결과 : 1-2+3-4+5-6+7-8+9-10 = ??
package day07;
public class Day07_03 {
public static void main(String[] args) {
int sum = 0;
for (int i=1; i<=10; i++) {
if (i==1) {
sum += 1;
}
if(i % 2 == 0 && i != 1) {
System.out.print("-");
sum -=i;
}else if (i%2==1 && i!=1){
System.out.print("+");
sum +=i;
}
System.out.print(i);
}
System.out.println("="+sum);
}
}
--출력--
1-2+3-4+5-6+7-8+9-10=-5
이것도 접근 조차 못했던 문제이다. 마지막 총합을 구하기 위해서는 sum값을 0으로 초기화 .
이 숫자에 규칙을 보면 짝수 앞에 -값이 있다는 것임. 그걸 먼저 알아챘어야 되는데
for문으로 1~10까지의 값을 출력한 상태에서
if문을 이용해 i값이 짝수이면 + !=1 ( i % 2 == 0 && i != 1 ) -를 출력할 수 있게 설정
else if문을 이용해 i값이 홀수일 때 +를 출력할 수 있게 설정
<주의>
만약 else if문에 i != 1이 들어가지 않으면 +1-2+3-4+5-6+7-8+9-10 이렇게 출력된다.
if문에 sum -= i;로 짝수인 값은 빼주고
else if문에 sum += i;로 홀수인 값은 더해준다.
여기서 sum을 0으로 초기화하고, sum에 기본값 1을 넣어주는 이유는
if와 else if문으로만 하면 맨 앞에 1값은 더하거나 뺄 수 없기 때문이다. (sum의 기본값은 0이기 때문임)
사실 이해는 된다만 다음에 다시 이런 실습을 할 때 잘할 수 있을지 모르겠다.
더 열심히해서 이런 실습도 척척 해낼 수 있을 때 까지!!
728x90
'Java' 카테고리의 다른 글
JAVA - 실습 (중복for문 응용) 별찍기 비슷한 내용 + 구구단 (0) | 2022.06.09 |
---|---|
JAVA - (다중 for문) (0) | 2022.06.09 |
JAVA - (for문과 if문을 이용해 소수 판별하기) (0) | 2022.06.09 |
JAVA - (for문을 이용하여 구구단) (0) | 2022.06.09 |
JAVA - (for문) 예제2 (0) | 2022.06.08 |