실습문제4 - for문 while문

서하루·2022년 10월 23일
0

  1. 사용자로부터 한개의 값을 입력받아 1부터 숫자까지의 수 출력
    입력한 수는 1보다 크거나 같아야하며, 1미만일 경우 잘못입력함 출력
public void practice1() {

Scanner sc = new Scanner(System.in);
		System.out.print("숫자 입력 : ");
		int num = sc.nextInt();

		if (num >= 1) {
			for (int i = 1; i <= num; i++) {
				System.out.print(i);
			}
		} else {
			System.out.println("잘못입력했습니다.");
		}

	}
  1. 1번과 문제 같지만 1미만의 수가 입력되면 다시입력하세요 출력되면서 사용자에게 다시 값을 입력받도록 하기
public void practice2() {
		Scanner sc = new Scanner(System.in);

		while (true) {
			System.out.print("1이상의 숫자를 입력하세요 : ");
			int num = sc.nextInt();

			if (num >= 1) {
				for (int i = 1; i <= num; i++) {
					System.out.print(i + " ");
				}
				break;
			} else {
				System.out.println("다시 입력해주세요");
			}
		}

	}
  1. 값을 입력받고 1에서부터 입력받은 수까지 거꾸로 출력
    입력받은 수는 1보다 크거나 같아야함.
public void practice3() {

Scanner sc = new Scanner(System.in);
int num = sc.nextInt();

if(num >= 1 {
	for(int i = num; i>= 1; i--)
    	System.out.print(i + " ");
    }else {
    	System.out.println("잘못입력했습니다.");
    }
  1. 1부터 사용자에게 입력 받은 수까지의 정수들의 합을 출력하세요
    1+2+3+4+5

public void practice5() {
	Scanner sc = new Scanner(System.in);
    System.out.print("정수 입력 : ");
    
    int sum = 0;
    for(int i = 1 ; i <=num; i++) {
    	if(i < num){
        System.out.print( i + "+");
        }else {
        Sysetm.out.print(i + "=");
        }
    	sum += i;
    }
System.out.print(sum);

}
  1. 정수 두 개와 연산자(문자열로 입력 받고 입력된 연산자에 따라 알맞은 결과를 출력단, 해당 프로그램은 연산자 입력에 “exit”라는 값이 들어올 때까지 무한 반복하며
    exit가 들어오면 “프로그램을 종료합니다.”를 출력하고 종료합니다.
    또한 연산자가 나누기이면서 두 번째 정수가 0으로 들어오면
    “0으로 나눌 수 없습니다. 다시 입력해주세요.”를 출력하며,
    없는 연산자가 들어올 시 “없는 연산자입니다. 다시 입력해주세요.”라고 출력하고
    두 경우 모두 처음으로 돌아가 사용자가 다시 연산자부터 입력하도록 하세요
public void practice12() {
		Scanner sc = new Scanner(System.in);
		
		while(true) {
			
			System.out.print("연산자 입력 : ");
			String str = sc.nextLine();
			
			if(str.equals("exit")) {
				System.out.println("프로그램을 종료합니다.");
				break;
			}
			
			System.out.print("\n첫 번째 정수 입력 : ");
			int num1 = sc.nextInt();
			
			System.out.print("\n두 번째 정수 입력 : ");
			int num2 = sc.nextInt();
			sc.nextLine();
			
			if(str.equals("/")|| str.equals("%") && num2 ==0) {
				System.out.println("0으로 나눌 수 없습니다. 다시 입력하시오.\n");
				continue;
			}
			
			int result = 0;
			switch(str) {
			case "+" : result = num1 + num2; break;
			case "-" : result = num1 - num2; break;
			case "*" : result = num1 * num2; break;
			case "/" : result = num1 / num2; break;
			case "%" : result = num1 % num2; break;
			default : System.out.println("없는 연산자입니다. 다시 입력해주세요");continue;
			}
			System.out.printf("%d %s %d = %d\n", num1, str, num2, result);
			
			
			
			
			
		}
		
		
		
	}

0개의 댓글