본문 바로가기
Java

1일차 - 문제 풀이

by sejin2 2023. 10. 23.

나의 코드 

package JavaElk;

import java.util.Scanner;

public class Ex06_continue {
	
	public static void main(String[] args) {
		// break : 반복문을 빠져나올 때
		// continue : continue 하위의 실행문을 실행하지 않고 반복문을 다시 실행
		//			  ~ 을 제외 할때 많이 사용
		
		// 1~100까지의 숫자 중 3의 배수를 제외한 합계를 구하기
		int sum = 0;
		for(int i=1; i<=100; i++) {
			if(i%3 == 0) 
					continue; 
					
				sum += i;
		}
		System.out.println("1~100까지 3의 배수를 제외한 합계 = " + sum);
	
	
	// 1~100까지 3의 배수 합 구하기
		int sum1 = 0;
		for(int i=1; i<=100; i++) {
			if(i%3 != 0) {
				continue;}
			else {
				sum1 += i;
			}
		} 
		System.out.println("1~100까지 3의 배수의 합계 = " + sum);
	
	// 사용자로부터 숫자를 양수를 입력받아 1~ 입력받은 숫자까지 합계 구하기  
		int j = 0;
		int sum2 = 0;
		do {
		Scanner scan = new Scanner(System.in);
		System.out.print("숫자를 입력하세요 : ");
		j = scan.nextInt();
		System.out.print("양수를 입력하세요 : "); 
		} while ( int j=1; j<=10; j++) {
			sum2 += j;
		}
	};
	
	// 1~100까지 숫자를 맞추기 게임
	int com = ((int)Math.random()* 100) + 1;
	int user = 0;
	do {
		System.out.println(com);
		Scanner scan = new Scanner(System.in);
		System.out.print("숫자를 입력하세요 : ");
		user = scan.nextInt();
		
		if(com > user) {
		System.out.println(" 더 작은 숫자를 입력해보세요.");
		} else if (com < user) {
			System.out.println(" 더 큰 숫자를 입력해보세요.");
		} else {
			System.out.println(" 축하합니다. 맞췄습니다 !");
		} 
	} while (com != user);

수정한 코드

package JavaElk;

import java.util.Scanner;

public class Ex06_continue {
	
	public static void main(String[] args) {
		// break : 반복문을 빠져나올 때
		// continue : continue 하위의 실행문을 실행하지 않고 반복문을 다시 실행
		//			  ~ 을 제외 할때 많이 사용
		
		// 1~100까지의 숫자 중 3의 배수를 제외한 합계 구하기
		int sum = 0;
		for(int i=1; i<=100; i++) {
			if(i%3 == 0) 
					continue; 
					
				sum += i;
		}
		System.out.println("1~100까지 3의 배수를 제외한 합계 = " + sum);
	
	
	// 1~100까지 3의 배수 합계 구하기
		int sum1 = 0;
		for(int i=1; i<=100; i++) {
			 if (i % 3 == 0) { // 3의 배수인 경우에만 합산
	                sum1 += i;
	            }
		} 
		System.out.println("1~100까지 3의 배수의 합계 = " + sum1);
	
	// 사용자로부터 숫자를 양수를 입력받아 1~ 입력받은 숫자까지 합계 구하기 
	 Scanner scan = new Scanner(System.in);
        int j = 0;
        int sum2 = 0;
        
        do {
            System.out.print("숫자를 입력하세요: ");
            j = scan.nextInt();
            
            if (j <= 0) {
                System.out.print("양수를 입력하세요: ");
            } else {
                for (int i = 1; i <= j; i++) {
                    if (i % 3 != 0) { 
                    } else {
                        sum2 += i;  
                    }
                }
            }
        } while (j <= 0); 
        System.out.println("1부터 " + j + "까지의 3의 배수의 합계 = " + sum2);
	
	// 1~100까지 숫자 맞추기 게임

		Scanner scan1 = new Scanner(System.in);
		int com = (int)(Math.random()* 100) + 1;
		int user = 0;
		
		do {
			System.out.print("1~100까지 숫자를 입력하세요 : ");
			user = scan1.nextInt();
			
			if(com < user) {
				System.out.println(" 더 작은 숫자를 입력해주세요.");
			} else if (com > user) {
				System.out.println(" 더 큰 숫자를 입력해주세요.");
			}  
		} while (com != user); 
			System.out.println(" 축하합니다. 맞췄습니다 !");
				
	
	
		// 사용자로부터 한 개의 값을 입력받아 1부터 그 숫자까지의 모든 숫자를 거꾸로 출력
		while(true) {
			System.out.print("숫자 입력 : ");
			user = scan.nextInt();
			
			if(user == 0) {
				System.out.println("1이상의 숫자를 다시 입력하세요.");
				continue;
			}
			for(int i=user; i>=1; i--) {
				if(i == 1)
					System.out.println(i + "\n");
				else {
					System.out.println(i + ", "); 
			}
			break;
			}
			
			
		// 사용자로부터 2개의 값을 입력받아 그 사이의 숫자를 모두 출력
		// 만일 1 미만의 숫자가 입력된다면 1 이상의 숫자를 입력하도록 안내
			boolean change = true; 
			while(change) {
			System.out.println("숫자 두개를 입력하세요 ex> 56 8 : ");
			int num1 = scan.nextInt();
			int num2 = scan.nextInt(); 
			
			if(num1 == 0 || num2 == 0) {
				System.out.println("0보다 큰 숫자 입력해주세요.");
				continue;
			}
			
			if(num1 > num2) {
				for (int i=num2; i<= num1; i++) 
					System.out.println(i + ", ");
				} else  {
					for(int i=num1; i<=num2; i++)
						System.out.println(i + ", ");
				}
			change = false;
			}
		
		boolean change1 = true; 
		while(change1) {
			System.out.println("숫자 두개를 입력하세요. ex> 56 8 : ");
			int num1 = scan.nextInt();
			int num2 = scan.nextInt(); 
			
			if(num1 == 0 || num2 == 0) {
				System.out.println("0보다 큰 숫자 입력해주세요.");
				continue;
			}
			// num1은 작은 수, num2 큰 수 
			if(num1 > num2) {
			 int tmp = num1;
			 num1 = num2;
			 num2 = tmp;
			}
			
			for(int i=num1; i<=num2; i++)
				System.out.println(i+", ");
			
			change = false;
			}
		}
	}
}

 

'Java' 카테고리의 다른 글

Java문법) 2차원 배열 - 2  (0) 2023.10.24
Java문법) 2차원배열 - 1  (0) 2023.10.24
Java문법) 배열 - 2  (0) 2023.10.24
Java문법) 배열 - 1  (0) 2023.10.23
Java문법) String_형 변환  (0) 2023.10.23