switch(항) {
case 값1:
명령어;
...
case 값n:
명령어;
default: //case에 해당하지 않는 것들은 모두 default에서 처리
명령어;
for(초기값; 최종 조건식; 증감식;) {
반복 실행 시킬 명령어(들)
}
for(int i=1; i<=3; i++) {
for(int j=1; j<=4; j++) {
명령어;
}
}
사용자에게 월을 입력받아 그 월에 해당하는 계절명을 출력하는 프로그램을 switch ~ case 문을 사용하여 작성
import java.util.Scanner;
public class SwitchPractice05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m;
System.out.print("월을 입력하세요: ");
m = sc.nextInt();
switch (m) {
case 3,4,5: System.out.println(m + "월은 봄입니다."); break;
case 6,7,8: System.out.println(m + "월은 여름입니다."); break;
case 9,10,11: System.out.println(m + "월은 가을입니다."); break;
case 12,1,2: System.out.println(m + "월은 겨울입니다."); break;
default: System.out.println("범위를 벗어났습니다.");
}
}
}
사용자에게 월을 입력받아 각 월에 마지막 날을 출력하는 프로그램을 작성
ex) 월을 입력하세요: 3
3월은 31일까지 있어요.
import java.util.Scanner;
public class SwitchPractice08 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m, date = 31;
//30: 4, 6, 9, 11
//31: 1, 3, 5, 7, 8, 10, 12
//28: 2
System.out.print("월을 입력하세요: ");
m = sc.nextInt();
if (m < 1 || m > 12) {
System.out.println("입력 범위를 넘었습니다.");
return;
}
switch (m) {
case 2: date = 28;
case 4,6,9,11: date = 30;
} System.out.println(m + "월은 " + date + "일 까지 있어요!");
}
}
중첩반복문을 이용하여 다음과 같이 동작하는 프로그램을 만들어보자.
줄 수를 입력하세요: 3
칸 수를 입력하세요: 5
*****
*****
*****
import java.util.Scanner;
public class ForPractice09 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a,b;
System.out.print("줄 수를 입력하세요: ");
a = sc.nextInt();
System.out.print("칸 수를 입력하세요: ");
b = sc.nextInt();
for(int i=0; i<a; i++) {
for(int j=0; j<b; j++) {
System.out.print("*");
}
System.out.println("");
}
}
}
1부터 100 사이의 정수 중에서 3 또는 4의 배수의 합을 계산하는 프로그램
public class Practice04 {
public static void main(String[] args) {
int sum = 0;
for(int i=1; i<=100; i++) { //1부터 100까지 숫자
if(i % 3 == 0 || i % 4 == 0) { //3의 배수 또는 4의 배수
sum += i; // 배수들의 합
}
}
System.out.println("3 또는 4의 배수의 합: " + sum);
}
}
2개의 주사위를 던지는 게임이 있다고 가정하자. 2개의 주사위의 합이 6이 되는 경우는 몇 가지나 있을까? 합이 6이 되는 경우의 수를 출력하는 프로그램을 작성해보자.
public class Practice05 {
public static void main(String[] args) {
for(int i=1; i<=6; i++) { //첫 번째 주사위 굴리기
for (int j=1; j<=6; j++) { //두 번째 주사위 굴리기
if(i+j==6) { //첫 번째 주사위 + 두 번째 주사위의 합이 6
System.out.print("(" + i + "," + j + ")");
}
}
}
}
}
1차방정식 3x+10y=100을 만족하는 모든 해를 구하는 프로그램을 작성해보자. 여기서 x와 y는 정수이고 0<=x<=10, 0<=y<=10이라고 가정하자.
package day0330;
public class Practice06 {
public static void main(String[] args) {
int x, y;
for(x=0; x<=10; x++) { //x의 값 0~10까지
for(y=0; y<=10; y++) { //y의 값 0~10까지
if(3 * x + 10 * y == 100) { //3x+10y=100을 만족할 때
System.out.println("(" + x + "," + y + ")");
}
}
}
}
}