h-i-s-t-o-r-y

[Java] 두 정수 사이의 합 구하기 본문

Java

[Java] 두 정수 사이의 합 구하기

H' 2021. 7. 12. 20:18

▷ 1~10 사이 정수 합

int sum = 0;
for (int i = 1; i <= 10; i++) {
System.out.printf("%d+", i);
sum += i;
}
System.out.printf("\b=%d\n", sum);

// 1+2+3+4+5+6+7+8+9+10=55

 


▷ 1~10 사이 홀수/짝수 합

// for문은 1~10까지 돌리면서, if문에서 홀수인지 검사
int sum = 0;
for (int i = 1; i <= 10; i++) {
    if (i%2==1) {
        System.out.printf("%d+", i);
        sum += i;
    }
}
System.out.printf("\\b=%d\\n", sum);

// 더 효율적인 코드
// 2씩 증가시켜서 for문 5번 돔
int sum = 0;
for (int i = 1; i <= 10; i+=2) {
    System.out.printf("%d+", i);
    sum += i;
}
System.out.printf("\\b=%d\\n", sum);

> continue문을 이용해서 짝수라면 출력, 누적 작업을 하지 않고

   for문의 증감식으로 바로 이동

// 1~10사이 홀수 합
// for문과 continue문을 이용한 방법
int sum = 0;
for (int i = 1; i <= 10; i++) {
    if (i%2==0) continue;
    // continue 문
    // 만약에 i가 짝수라면, 출력X 누적X -> i++증감식으로 바로 이동
    System.out.printf("%d+", i);
    sum += i;
}
System.out.printf("\\b=%d\\n", sum);
// 1~10사이 짝수 합
// while문과 continue문을 이용한 방법
int i=1, sum = 0;
while (++i<=10) {
    if (i%2==1) continue;
    // 만약에 i가 홀수라면, 출력X 누적X -> i++증감식으로 바로 이동
    System.out.printf("%d+", i);
    sum += i;
}
System.out.printf("\\b=%d\\n", sum);

▷ 1~n 사이 정수 합

int n = 5;
int sum = 0;
Scanner scanner = new Scanner(System.in);
System.out.printf("> 임의의 양수 (n)을 입력하세요 ? ");
n = scanner.nextInt();

if (n<=0) {        // 음수입력
    System.out.println("n 입력 잘못해서 프로그램 종료 !!!");
    return;
}

for (int i = 1; i <= n; i++) {
    System.out.printf("%d+", i);
    sum += i;
}
System.out.printf("\\b=%d\\n", sum);

 


▷ n~m 사이 정수 합

 

n부터 m까지의 정수들의 합을 구하려면, n이 m보다 작은 수여야 한다.

1) if문을 이용해서 n이 m보다 크다면 값을 교환해서 작은 값이 n이 되게 하거나

2) Math 클래스의 max, min 함수를 이용해서 시작값과 끝값을 결정한다.

System.out.print("> 두 정수를 입력하세요 ? ");
Scanner scanner = new Scanner(System.in);
String value = scanner.next();
String [] values = value.split("\\\\s*,\\\\s*");

int n = Integer.parseInt(values[0]);
int m = Integer.parseInt(values[1]);

// 1) if문을 이용해서 n이 m보다 크다면 값을 교환해서
// 시작수가 끝수보다 작게 만들어줌
/*
if(n > m) {
    int tmp =n;
    n = m;
    m = tmp;
}
 */

// 2) max, min 함수를 이용하여 시작수와 끝수를 구함
int max = Math.max(n, m);
int min = Math.min(n, m);
int sum = 0;
for (int i = min; i <= max; i++) {
    System.out.printf("%d+", i);
    sum += i;
} //for
System.out.printf("\\b=%d\\n", sum);

 

 

'Java' 카테고리의 다른 글

[Java] 구구단  (0) 2021.07.12
[Java] 점수 입력받아 수우미양가 출력하기  (0) 2021.07.12
[Java] 제어문 (control statement) - 조건문과 반복문  (0) 2021.07.12
[Java] 연산자  (0) 2021.07.12
[Java] 입력받아 출력하기  (0) 2021.07.12
Comments