프로그래밍/자바(JAVA)

[복습] 2일차 복습 - 자바 기본(for, while, do ~ while, 이중 for문)

aSpring 2021. 1. 15. 00:34
728x90
728x90

2021/01/13 - [공부/자바(java) 융합개발자 2차(복습)] - [1일차] 복습 & 자바 기본 익히기(p.18~)

2021/01/12 - [공부/자바(java) 융합개발자 2차] - [자바 기초] 20일차 일지 - Eclipse에서 Hello 출력, 변수, if문

2021/01/13 - [공부/자바(java) 융합개발자 2차] - [자바 기초] 21일차 - 반복문(for, while, do ~ while)

2021/01/13 - [공부/자바(java) 융합개발자 2차] - [자바 기초] 21일차 - 반복문(for, while, do ~ while)

2021/01/14 - [공부/자바(java) 융합개발자 2차] - [자바 기초] 22일차 - 배열, 난수

2021/01/14 - [분류 전체보기] - [자바 기초] 22일차 2 - 클래스, 객체

 

와 어제 처음으로 복습을 했는데 하루치도 다 못끝내고 머리가 더이상 돌아가지 않아서 복습해야 할 내용이

20, 21, 22일차 이렇게 3일치가 누적되었다 ㅠㅠ!


Exam11. 1~99 사이의 정수 하나를 입력받아 십 단위 3, 6, 9 검사, 일 단위 3, 6, 9 검사
-> 3, 6, 9가 2개이면 박수 짝짝

-> 3, 6, 9가 1개이면 박수 짝

-> 없으면 박수 없음 출력

ex) 36 -> 박수 짝짝

ex) 46 -> 박수 짝

ex) 52 -> 박수 없음

내 답

package com.day01;

import java.util.Scanner;

public class Exam11 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("1~99 사이의 정수 하나를 입력해주세요.");
		int no = sc.nextInt();
		String cb = "박수 ";
		
		//no의 십 단위가 3, 6, 9인지 검사
		//no를 10으로 나눈 후 몫이 3, 6, 9이면 짝을 추가
		if(no>9 && (no/10)%3==0) {
			cb = cb + "짝";
		}
		//일 단위 검사
		if((no%10)%3==0) {
			cb = cb + "짝";
		}
		if(no==0 || cb=="박수 ") {
			System.out.println("박수 없음");		
		} else {
			System.out.println(cb);
		}
	}
}

switch case로 풀어보자

package com.day01;

import java.util.Scanner;

public class Exam11 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("1~99 사이의 정수 하나를 입력해주세요.");
		int no = sc.nextInt();
		String cb = "박수 ";
		
		switch(no/10) {
		case 3 : cb = cb + "짝"; break;
		case 6 : cb = cb + "짝"; break;
		case 9 : cb = cb + "짝"; break;
		}
		switch(no%10) {
		case 3 : cb = cb + "짝"; break;
		case 6 : cb = cb + "짝"; break;
		case 9 : cb = cb + "짝"; break;
		}
		if (no==0 || cb=="박수 ") {
			System.out.println("박수 없음");
		} else {
		System.out.println(cb);
		}
	}
}

21일차 - 반복문(for, while, do ~ while)

com.day02

Exam01.java '안녕하세요'를 5번 출력하라


원시적인 방법

package com.day02;

public class Exam01 {

	public static void main(String[] args) {
		
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
		System.out.println("안녕하세요");
	}
}

 for문 이용해서 5번 출력하기

package com.day02;

public class Exam01 {

	public static void main(String[] args) {
		
		for(int i = 0; i < 5; i++) {
		System.out.println("안녕하세요");
		}
	}
}

여기서 i는 지역변수로 for문을 벗어나면 사용하지 못함

 

Exam01_2dan 구구단 2단 출력

package com.day02;

public class Exam01_2dan {

	public static void main(String[] args) {
		
		for(int i = 1; i < 10; i++) {
		System.out.println("2 * " + i + " = " + 2*i);
		}
	}
}

2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

 

Exam01_EvenNo.java

1부터 10까지 짝수만 출력

package com.day02;

public class Exam01_EvenNo {

	public static void main(String[] args) {
		//1~10까지 짝수만 출력
		
		for(int i = 2; i < 11; i+=2) {
			System.out.print(i + "\t");
		}
	}
}
package com.day02;

public class Exam01_EvenNo {

	public static void main(String[] args) {
		//1~10까지 짝수만 출력
		
		for(int i = 1; i < 11; i++) {
			if(i%2==0) {
				System.out.print(i+"\t");
			}
		}
	}
}

2 4 6 8 10

 

Exam02 몇단을 할 지 입력받아서 그 단의 구구단을 출력하세요.

package com.day02;

import java.util.Scanner;

public class Exam02_Gugudan {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		System.out.println("몇 단을 출력할까요?");
		int dan = sc.nextInt();
		
		for(int i=1; i<10; i++) {
			System.out.println(dan + " * " + i + " = " + dan*i);
		}
	}
}

몇 단을 출력할까요?
3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27

 

구구단 합계도 함께 출력

package com.day02;

import java.util.Scanner;

public class Exam02_Gugudan {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		System.out.println("몇 단을 출력할까요?");
		int dan = sc.nextInt();
		int sum = 0;
		
		for(int i=1; i<10; i++) {
			System.out.println(dan + " * " + i + " = " + dan*i);
			sum = sum + dan*i;
		}
		System.out.println(dan + "단의 총 합계 : " + sum);
	}
}

몇 단을 출력할까요?
8
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
8단의 총 합계 : 360

 

지역 변수는 초기값이 없으면 에러가 난다.

int sum = 0; 해주기

 

Exam02_Sum 1부터 10까지의 합계를 구하라

package com.day02;

public class Exam02_Sum {

	public static void main(String[] args) {
		
		int sum = 0;
		
		for(int i=1;i<11;i++) {
			sum += i;
		}
		System.out.println("합계 : " + sum);
	}
}

합계 : 55

 

Exam02_SumOfEvenNo_1 1~50까지 짝수의 합을 구하여라 (if 사용)

package com.day02;

public class Exam02_SumOfEvenNo_1 {

	public static void main(String[] args) {
		
		int sum = 0;
	
		for(int i=1; i < 51; i++) {
			if(i%2==0) {
				sum += i;
			}
		}
		System.out.println("짝수의 합 : " + sum);
	}
}

짝수의 합 : 650

 

Exam02_SumOfEvenNo_2 (if 미사용)

package com.day02;

public class Exam02_SumOfEvenNo_2 {

	public static void main(String[] args) {
		
		int sum = 0;
	
		for(int i=2; i < 51; i+=2) {
				sum += i;
		}
		System.out.println("짝수의 합 : " + sum);
	}
}

짝수의 합 : 650

 

Exam03 몇 개를 입력받을 지 물어보고 그 수만큼 숫자를 입력하여 그 수들의 합계를 출력

package com.day02;

import java.util.Scanner;

public class Exam03 {

	public static void main(String[] args) {
		//몇개를 입력받을지 물어보기
		Scanner sc = new Scanner(System.in);
		
		System.out.println("몇개의 수를 입력하시겠습니까?");
		int su = sc.nextInt();
		int sum = 0;
		
		for(int i=0; i<su; i++) {
			System.out.println(su + "개의 수 중 " + (i+1) + "번째 수를 입력하세요");
			sum += sc.nextInt();
		}
		System.out.println("합 : " + sum);
	}
}

몇개의 수를 입력하시겠습니까?
3

3개의 수 중 1번째 수를 입력하세요

10

3개의 수 중 2번째 수를 입력하세요

20

3개의 수 중 3번째 수를 입력하세요

30

합 : 60

package com.day02;

import java.util.Scanner;

public class Exam03 {

	public static void main(String[] args) {
		//몇개를 입력받을지 물어보기
		Scanner sc = new Scanner(System.in);
		
		System.out.println("몇개의 수를 입력하시겠습니까?");
		int su = sc.nextInt();
		int sum = 0;
		System.out.println(su + "개의 수를 입력하세요");
		
		for(int i=0; i<su; i++) {
			sum += sc.nextInt();
		}
		System.out.println("합 : " + sum);
	}
}

몇개의 수를 입력하시겠습니까?
3
3개의 수를 입력하세요
10 20 30
합 : 60

 

Exam03_Sum 1부터 100까지의 합을 구하는데

출력은

1~10까지의 합

1~20까지의 합

..

1~100까지의 합을 출력하라

package com.day02;

public class Exam03_Sum {

	public static void main(String[] args) {
		int sum = 0;
		
		for(int i=1; i<101; i++) {
			sum += i;
			if(i%10==0) {
				System.out.println("1부터 " + i + "까지의 합 : " + sum);
			}
		}
	}
}

1부터 10까지의 합 : 55
1부터 20까지의 합 : 210
1부터 30까지의 합 : 465
1부터 40까지의 합 : 820
1부터 50까지의 합 : 1275
1부터 60까지의 합 : 1830
1부터 70까지의 합 : 2485
1부터 80까지의 합 : 3240
1부터 90까지의 합 : 4095
1부터 100까지의 합 : 5050

 

Exam03_Sum2 1~10까지의 합을 구하는데 1+2+3+   +9+10 = 55 로 출력되게 하라

package com.day02;

public class Exam03_Sum2 {

	public static void main(String[] args) {
		
		int sum = 0;
		
		for(int i=1; i<11; i++) {
			if(i<10) {
				System.out.print(i + "+");
			} else {
				System.out.print(i);
			}
			sum += i;
		}
		System.out.println(" = " + sum);
	}
}

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

 

선생님 답

package com.day02;

public class Exam03_Sum2 {

	public static void main(String[] args) {
		
		int sum = 0;
		
		for(int i=1; i<11; i++) {
			if(i != 10) {
				System.out.print(i + "+");
			} else {
				System.out.print(i + "=");
			}
			sum += i;
		}
		System.out.println(sum);
	}
}

또는

package com.day02;

public class Exam03_Sum2 {

	public static void main(String[] args) {
		
		int sum = 0;
		
		for(int i=1; i<11; i++) {
			sum += i;
			if(i == 1) {
				System.out.print(i);
			} else {
				System.out.print("+" + i);
			}
		}
		System.out.println("=" + sum);
	}
}

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

 

프로그램을 짤 때는 가독성이 중요하다. tab으로 들여쓰기 잘하기!

 

Ctrl + Shift + f 키를 눌러주면 자동으로 정렬

Ctrl + / 키를 눌러주면 자동 주석 처리

 

Exam04_Sum

1부터 10까지의 합 55
11부터 20까지의 합 155
21부터 30까지의 합 
..
91부터 100까지의 합 955
을 나타내어라

package com.day02;

public class Exam04_Sum {

	public static void main(String[] args) {

		int sum = 0;

		// 1~10까지 더하고 출력
		// 11되면 초기화 -> 11~20까지 더하고 출력
		// ..
		// 91되면 초기화 -> 91~100까지 더하고 출력 -> 10으로 나눈 나머지가 1되면 초기화

		for (int i = 1; i <= 101; i++) {
			if (i % 10 == 1 && i != 1) {
				System.out.println( (i-10) + "부터 " + (i-1) + "까지의 합" + sum);
				sum = 0;
			}
			sum += i;
		}
	}
}

1부터 10까지의 합55
11부터 20까지의 합155
21부터 30까지의 합255
31부터 40까지의 합355
41부터 50까지의 합455
51부터 60까지의 합555
61부터 70까지의 합655
71부터 80까지의 합755
81부터 90까지의 합855
91부터 100까지의 합955

 

또는

package com.day02;

public class Exam04_Sum {

	public static void main(String[] args) {

		int sum = 0;

		// 1~10까지 더하고 출력
		// 11되면 초기화 -> 11~20까지 더하고 출력
		// ..
		// 91되면 초기화 -> 91~100까지 더하고 출력 -> 10으로 나눈 나머지가 1되면 초기화

		for (int i = 1; i < 101; i++) {
			sum += i;

			if (i % 10 == 0) {
				System.out.println((i - 9) + "부터 " + (i) + "까지의 합" + sum);
				sum = 0;
			}
		}
	}
}

Exam04_StudentRow 학생 수와 각 줄에 앉을 학생 수를 입력받아 출력하시오(자리배치)

 ex)  학생이 10일 때 한 줄에는 3명씩만 앉을 것이다 라고 입력받으면

1 2 3

4 5 6

7 8 9

10

package com.day02;

import java.util.Scanner;

public class Exam04_StudentRow {

	public static void main(String[] args) {
		
		//학생의 수 입력 받음
		Scanner sc = new Scanner(System.in);
		System.out.println("학생의 수를 입력하세요");
		int Std = sc.nextInt();
		System.out.println("각 줄에 앉을 학생 수를 입력하세요");
		int Row = sc.nextInt();
		
		for(int i=1; i <= Std; i++) {
			System.out.print(i + "\t");
			if (i%Row == 0) {
				System.out.println();
			}
		}
	}
}

학생의 수를 입력하세요
10
각 줄에 앉을 학생 수를 입력하세요
3
1  2  3
4  5  6
7  8  9
10

 

총 몇 줄인지 출력하시오

package com.day02;

import java.util.Scanner;

public class Exam04_StudentRow {

	public static void main(String[] args) {
		
		//학생의 수 입력 받음
		Scanner sc = new Scanner(System.in);
		System.out.println("학생의 수를 입력하세요");
		int Std = sc.nextInt();
		System.out.println("각 줄에 앉을 학생 수를 입력하세요");
		int Row = sc.nextInt();
		
		int cnt = 0;
		int i;
		
		for(i=1; i <= Std; i++) {
			System.out.print(i + "\t");
			if (i%Row == 0) {
				System.out.println();
				cnt++;
			}
		}
		if(Std%Row != 0) {
			cnt++;
			System.out.println();
		}
		System.out.println("줄 수 : " + cnt);
	}
}

학생의 수를 입력하세요
10
각 줄에 앉을 학생 수를 입력하세요
3
1 2 3
4 5 6
7 8 9
10
줄 수 : 4

 

또는

package com.day02;

import java.util.Scanner;

public class Exam04_StudentRow {

	public static void main(String[] args) {
		
		//학생의 수 입력 받음
		Scanner sc = new Scanner(System.in);
		System.out.println("학생의 수를 입력하세요");
		int Std = sc.nextInt();
		System.out.println("각 줄에 앉을 학생 수를 입력하세요");
		int Row = sc.nextInt();
		
		if (Std%Row == 0) {
		System.out.println("줄 수 : " + Std/Row);
		} else {
			System.out.println("줄 수 : " + (Std/Row+1));
		}
	}
}

학생의 수를 입력하세요
9
3각 줄에 앉을 학생 수를 입력하세요

줄 수 : 3

 

if 대신 삼항 연산자 사용

package com.day02;

import java.util.Scanner;

public class Exam04_StudentRow {

	public static void main(String[] args) {
		
		//학생의 수 입력 받음
		Scanner sc = new Scanner(System.in);
		System.out.println("학생의 수를 입력하세요");
		int Std = sc.nextInt();
		System.out.println("각 줄에 앉을 학생 수를 입력하세요");
		int Row = sc.nextInt();
		
		int cnt = (Std%Row == 0) ? Std/Row : Std/Row+1;
		
		System.out.println("줄 수 : " + cnt);
	}
}

학생의 수를 입력하세요
9
각 줄에 앉을 학생 수를 입력하세요
3
줄 수 : 3

 

Exam6 while문 배우기

1) for문 이용 1~5까지 출력하라

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {
		
		for(int i = 1; i < 6; i++) {
			System.out.print(i + "\t");
		}
	}
}

1   2   3   4   5

 

2) while을 이용하여 1~5까지 출력하라

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {
		
		int i = 1;
		
		while(i<6) {
			System.out.println(i);
			i++;
		}
	}
}

1

2

3

4

5

 

while문은 반드시 빠져나갈 수 있는 조건을 적어주어야 한다.

아니면 무한 루프에 빠질 수 있음 -> 몇 번 돌려야 할 지 모를 때 사용할 수 있고, 조건에 맞으면 빠져나간다.

 

3) do ~ while

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {
		
		int i = 1;
		
		do {
			System.out.println(i); //1 2 3 4 5
			i++; //2 3 4 5 6 -> stop
		} while(i<6);
	}
}

1
2
3
4
5

 

do~while문은 무조건 1번은 실행 한 뒤 조건을 확인한다.

 

while문과 do while문을 비교해보자. 조건을 i<1로 두면

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {
		
		int i = 1;
		
		while(i<1) {
			System.out.println(i); //1 2 3 4 5
			i++; //2 3 4 5 6 -> stop
		} ;
	}
}

조건에 맞지 않으므로 (1 < 1)
아무 것도 출력되지 않는다.

 

반면에

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {
		
		int i = 1;
		
		do {
			System.out.println(i); //1 2 3 4 5
			i++; //2 3 4 5 6 -> stop
		} while(i<1);
	}
}

1

 

먼저 출력을 한 후에 while() 조건을 확인해서 1<1 false이므로 빠져나온다.

 

if 안에 들어가는 문장이 1개일 때는 { } 를 써주지 않고도 사용할 수 있다.

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {
		
		int i = 1;
		
		if(i==1) System.out.println("i는 1입니다");
	}
}

 

i는 1~10까지 증가하는데 i가 5가 되면 빠져나와라.

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {

		for (int i = 1; i < 10; i++) {
			System.out.print(i + "\t");
			if (i == 5) break;
		}
	}
}

1     2     3     4     5

 

i는 1~10까지 증가하는데 i가 5인 경우 continue 하라

package com.day02;

public class Exam06_While {

	public static void main(String[] args) {

		for (int i = 1; i < 10; i++) {
			if (i == 5) continue;
			System.out.print(i + "\t");
		}
	}
}

1     2     3     4     6     7     8     9

5가 없다! i == 5 이면 continue를 하라는 말은 아래 문장을 실행하지 않고 다시 for로 올라가라는 뜻이므로

5는 출력이 되지 않고 6이 되어버림

 

==> 반복문을 제어할 수 있는 것 : break; continue;

 

Exam06_Odd 1~10까지 홀수를 구하라

package com.day02;

public class Exam06_Odd {

	public static void main(String[] args) {
		
		for(int i=1;i<11;i+=2) {
			System.out.println(i);
		}

	}

}

1
3
5
7
9

또는

package com.day02;

public class Exam06_Odd {

	public static void main(String[] args) {
		
		for(int i=1;i<11;i++) {
			if(i%2==1) System.out.println(i);
		}
	}
}

홀수의 합 구하기

package com.day02;

public class Exam06_Odd {

	public static void main(String[] args) {
		
		//홀수의 합 구하기
		int sum = 0;
		
		for(int i=1;i<11;i++) {
			if(i%2==1) sum += i;
		}
		System.out.println("홀수의 합 : " + sum);
	}
}

홀수의 합 : 25

 

for, if, continue를 사용해서 1~10 사이의 홀수의 합을 구하여라

package com.day02;

public class Exam06_Odd {

	public static void main(String[] args) {
		
		//홀수의 합 구하기 -> for, if continue 사용
		int sum = 0;
		
		for(int i=1;i<11;i++) {
			if(i%2==0) continue; //짝수면 건너뛰어라
			sum += i;
		}
		System.out.println("홀수의 합 : " + sum);
	}
}

홀수의 합 : 25

 

또는

package com.day02;

public class Exam06_Odd {

	public static void main(String[] args) {
		
		//홀수의 합 구하기 -> for, if continue 사용
		int sum = 0;
		
		for(int i=1;i<11;i++) {
			if(i%2!=1) continue; //홀수가 아니면 건너뛰어라
			sum += i;
		}
		System.out.println("홀수의 합 : " + sum);
	}
}

 

Exam07. 양수를 입력받는데 마지막은 -1. 입력한 수의 합계와 평균을 구하시오

ex) 10 5 6 9 -1

-1은 종료라는 뜻이며 10 5 6 9 만 합계와 평균을 구한다.

->  숫자 몇 개를 입력할지 모르니까 While문을 쓰고 -1이면 빠져나오게 해야 하니까 break; 사용

package com.day02;

import java.util.Scanner;

public class Exam07 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		System.out.println("양수를 입력하시오(입력 종료 신호 : -1)");

		int sum = 0;
		int cnt = 0;
		
		while(true) {
			int no = sc.nextInt();
			if(no == -1) break;
			if(no < 0) { 
				System.out.println("양수를 입력하세요");
				continue;
			}
			sum += no;
			cnt++;
		} 
		System.out.println("합계 : " + sum + " 평균 : " + (float)(sum/cnt));
	}
}


Exam08

2*1=2

2*2=4

2*3=6

출력

package com.day02;

public class Exam08 {

	public static void main(String[] args) {
		
		for(int i=1; i<4; i++) {
			System.out.println("2*" + i + " = " + 2*i);
		}
	}
}

2*1 = 2
2*2 = 4
2*3 = 6

 

3, 4단도 나오도록 -> 이중 for문으로 작성

package com.day02;

public class Exam08 {

	public static void main(String[] args) {

		for (int j = 2; j < 5; j++) {
			for (int i = 1; i < 4; i++) {
				System.out.println(j + "*" + i + " = " + j * i);
			}
			System.out.println();
		}
	}
}

2*1 = 2
2*2 = 4
2*3 = 6

3*1 = 3
3*2 = 6
3*3 = 9

4*1 = 4
4*2 = 8
4*3 = 12

 

3단, 5단, 7단 모두 출력

package com.day02;

public class Exam08 {

	public static void main(String[] args) {

		for (int j = 3; j < 8; j+=2) {
			for (int i = 1; i < 10; i++) {
				System.out.println(j + "*" + i + " = " + j * i);
			}
			System.out.println();
		}
	}
}

3*1 = 3
3*2 = 6
3*3 = 9
3*4 = 12
3*5 = 15
3*6 = 18
3*7 = 21
3*8 = 24
3*9 = 27

5*1 = 5
5*2 = 10
5*3 = 15
5*4 = 20
5*5 = 25
5*6 = 30
5*7 = 35
5*8 = 40
5*9 = 45

7*1 = 7
7*2 = 14
7*3 = 21
7*4 = 28
7*5 = 35
7*6 = 42
7*7 = 49
7*8 = 56
7*9 = 63

continue 사용해서 다시 출력하기

package com.day02;

public class Exam08 {

	public static void main(String[] args) {

		for (int j = 3; j < 8; j++) {
			if(j%2==0) continue;
			System.out.println(j + "단");
			for (int i = 1; i < 10; i++) {
				System.out.println(j + "*" + i + " = " + j * i);
			}
			System.out.println();
		}
	}
}

결과 동일

-> j를 2로 나누었을 때 나머지가 0이면 아래 문장은 실행하지 않겠다 -> 짝수면 실행하지 않겠다.

 

Exam08_1

아래와 같이 출력하기

123456789

12345678

1234567

123456

12345

1234

123

12

1

package com.day02;

public class Exam08_1 {

	public static void main(String[] args) {

		for (int j = 10; j > 0; j--) {
			for (int i = 1; i < j; i++) {
				System.out.print(i);
			}
			System.out.println();
		}
	}
}

123456789
12345678
1234567
123456
12345
1234
123
12
1

 

Exam08_2 이중 for문으로 아래와 같은 출력값 구하기

1부터10까지의 합 55 
11부터20까지의 합 155 
21부터30까지의 합 255 
31부터40까지의 합 355 
41부터50까지의 합 455 
51부터60까지의 합 555 
61부터70까지의 합 655 
71부터80까지의 합 755 
81부터90까지의 합 855 
91부터100까지의 합 955

package com.day02;

public class Exam02_2 {

	public static void main(String[] args) {
		
		int sum = 0;
		
		for(int j=10; j<101; j+=10) { //10       20
			for(int i=j-9; i<=j; i++) { //1~10합  11~20
				sum += i;
			}
			System.out.println((j-9) + "부터 " + j + "까지의 합 : " + sum);
			sum = 0;
		}
	}
}
package com.day02;

public class Exam02_2 {

	public static void main(String[] args) {
		
		int sum = 0;
		int i;
		
		for(int j=1; j<101; j+=10) { //10       20
			for(i=j; i<=j+9; i++) { //1~10합  11~20
				sum += i;
			}
			System.out.println(j + "부터 " + (i-1) + "까지의 합 : " + sum);
			sum = 0;
		}
	}
}

 

Exam09

2*1 = 2   3*1 = 3   4*1=4          9*1=9

..

2*9 = 18                                9*9=81

package com.day02;

public class Exam09 {

	public static void main(String[] args) {

		for (int i = 1; i < 10; i++) {
			for (int j = 2; j < 10; j++) {
				System.out.print(j + "*" + i + "=" + i * j + "\t");
			}
			System.out.println();
		}
	}
}

 

Exam09_Star 아래와 같이 출력되도록 하여라

*********(7)
*****(5)
***(3)
*(1)

 

package com.day02;

public class Exam09_Star {

	public static void main(String[] args) {
		
		for(int j = 7; j>0; j-=2) {
			for(int i = 1; i <= j; i++) {
				System.out.print("*");
			}
			System.out.println("("+ j +")");
		}
	}
}

*******(7)
*****(5)
***(3)
*(1)

 

또는

package com.day02;

public class Exam09_Star {

	public static void main(String[] args) {
		
		for(int j = 7; j>0; j-=2) {
			for(int i = j; i >0; i--) {
				System.out.print("*");
			}
			System.out.println("("+ j +")");
		}
	}
}
728x90
728x90