Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 자바자료형
- SQL
- 자바제어문
- 자바함수
- 오라클
- 기타제어자
- read()함수
- 변수명명규칙
- 자바실행방법
- 효율적인연산
- 자바연산자
- 클래스배열
- 자바상수
- 자바수우미양가
- 변수의 초기화
- 누승재귀
- 자바접근지정자
- 연산자우선순위
- 자바별찍기
- 반복문라벨
- 자바기타제어자
- 중첩for문
- 프로그래머스
- 자바클래스
- 자바형식
- 오버로딩
- 자바switch문
- 자바if문
- 팩토리얼재귀
- 겟셋함수
Archives
- Today
- Total
h-i-s-t-o-r-y
[Java] 두 정수 사이의 합 구하기 본문
▷ 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