드디어 반복문에 들어갔다. 걱정이 이만저만 ~ 이제 조금이나마 예습했던 부분도 다 끝나버렸다... 6일 컷
수업은 어렵지 않았는데, 막상 과제 뚜껑을 열고보니 너무 어려웠다. 익숙해질때까지 여러 문제를 풀어야겠다....
기본문제는 풀었는데 조건이 너무 겹치면서, 이걸 손코딩 알고리즘으로도 규칙성을 어떻게 구해야하는지 막혔고
그 부분도 좀더 공부해서 방법을 이해하고 난 뒤 블로그에 정리해야할 것 같다.
[for문 표현식]
for(초기식; 조건식; 증감식;) {
조건을 만족하는 경우 수행할 구문(반복할 구문);
public void testForExample() {
//10명의 학생 이름을 입력 받아 이름을 출력해보자.
Scanner sc = new Scanner(System.in);
/* 이렇게 한명한명 다 입력해야한다면? 수고롭다. */
// System.out.print("1번째 학생의 이름을 입력해주세요 : ");
// String student1 = sc.nextLine();
// System.out.println("1번째 학생의 이름은 " + student1 + "입니다.");
for (int i=1; i<=10; i++) {
System.out.print(i + "번째 학생의 이름을 입력해 주세요 : ");
String student = sc.nextLine();
System.out.println( i +"번째 학생의 이름은 " + student + "입니다.");
}
}
1. 보다 간결하게 작성되었다. (가독성)
2. 학생의 이름 뿐만 아니라 성적도 입력하는 기능이 추가된다면? 학생의 인원이 늘어난다면? (유지보수성)
예제) 5 ~ 10 사이의 난수를 발생 시켜서 1에서부터 발생한 난수까지의 합계를 구해보자 !
public void testForExample3() {
int random = (int) (Math.random() * 6) + 5;
System.out.println("random : " + random);
int sum = 0;
for(int i = 1; i <= random; i++) {
sum += i;
}
System.out.println("1부터 " + random + "까지의 합계는 " + sum + "입니다.");
}
예제) 키보드로 정수 값을 입력받아 2 ~9 사이의 값인 경우 해당 단의 구구단을 출력하고,
그렇지 않은 경우 "반드시 2~9사이의 양수를 입력해야 합니다." 출력
public void printSimpleGugudan() {
Scanner sc = new Scanner(System.in);
System.out.print("출력할 구구단의 단 수 입력하세요 : ");
int dan = sc.nextInt();
/* 입력한 숫자가 2 ~ 9 사이인지 조건 확인 */
if (dan >= 2 && dan <= 9){
for (int su = 1; su <= 9; su++) {
System.out.println(dan + " * " + su + " = " + (dan * su));
}
}else {
System.out.println("반드시 2 ~9 사이의 양수를 입력해야 합니다.");
}
}
이중 for문
for문 안에서 for문을 이용할 수 있다. dan * su
예제) 2단부터 단을 1씩 증가시키는 반복문
단이 1개씩 증가하는 동안 수행할 내용은 해당 단의 구구단을 출력하는 것
for(int dan = 2; dan < 10; dan++) {
System.out.println("=========== " + dan + "단 ============");
/* 단이 1개씩 증가하는 동안 수행할 내용은 해당 단의 구구단을 출력하는 것 */
for(int su = 1; su < 10; su++) {
System.out.println(dan + " * " + su + " = " + (dan * su));
}
System.out.println();
}
}
'백엔드 과정 > Java' 카테고리의 다른 글
[Java] day7. 반복문의 제어 / break문 continue문 (0) | 2021.12.26 |
---|---|
[Java] day7. 반복문 while문 (0) | 2021.12.26 |
Java 문제풀이2-2 . if문으로 월급과 매출액으로 보너스 계산하기 (0) | 2021.12.23 |
Java 문제풀이2-1 . if문 (과목별 합격 / 불합격 사유 출력하기) (0) | 2021.12.23 |
[Java] day6. if문/ if-else문/ if-else-if문/ switch 조건문 (0) | 2021.12.23 |