구 승 2024. 4. 23. 09:14

33p 연습문제Q10 -<기본알고리즘-do,while>

두 변수 a,b에 정수를 입력하고 b-a를 출력하는 프로그램을 작성하세요.

단 변수 b에 입력한 값이 a이하면 변수 b의값을 다시 입력하시오.

package kr.bin;
import java.util.*;
import java.io.*;

public class solution {
	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int a , b;
		System.out.print("a의 값:");
		a = stdIn.nextInt();
		
		do {
			System.out.print("b의 값:");
			b = stdIn.nextInt();
			System.out.println("a보다 큰값을 입력하세요!");
		}while(b<=a);
		
		System.out.println("b - a ="+(b-a)+"입니다.");
		
	}
	
	
}

a의 값:6
b의 값:6
a보다 큰값을 입력하세요!
b의 값:7
a보다 큰값을 입력하세요!
b - a =1입니다.

33p 연습문제Q11 -<기본알고리즘-do,while>

package kr.bin;
import java.util.*;
import java.io.*;

public class solution {
	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int a;
		 do{
			System.out.print("양의정수를 입력하시오.:");
			a = stdIn.nextInt();
		}while(a<=0);
		
		 a = String.valueOf(a).length();
		 System.out.println("그 수는"+a+"자리입니다.");
	}
	
	
}

양의정수를 입력하시오.:123456789
그 수는9자리입니다.

38p 연습문제Q12-<기본알고리즘-다중반복>

package kr.bin;
import java.util.*;
import java.io.*;

public class solution {
	public static void main(String[] args) {
		/* Scanner stdIn = new Scanner(System.in); */
		// 첫 번째 줄: 구분선과 숫자 출력
        System.out.print(" |");
        for (int i = 1; i <= 9; i++) {
            System.out.printf("%3d", i);
        }
        System.out.println();
        
        // 두 번째 줄: 구분선 출력
        System.out.print("-+");
        for (int i = 1; i <= 9; i++) {
            System.out.print("---");
        }
        System.out.println();
		for(int i=1;i<=9;i++) {
			System.out.print(i+"|");
			
			for(int j=1; j<=9;j++) {
				System.out.printf("%3d",i*j);
			
			}
			System.out.println();
		}
	}
	
	
}

 |  1  2  3  4  5  6  7  8  9
-+---------------------------
1|  1  2  3  4  5  6  7  8  9
2|  2  4  6  8 10 12 14 16 18
3|  3  6  9 12 15 18 21 24 27
4|  4  8 12 16 20 24 28 32 36
5|  5 10 15 20 25 30 35 40 45
6|  6 12 18 24 30 36 42 48 54
7|  7 14 21 28 35 42 49 56 63
8|  8 16 24 32 40 48 56 64 72
9|  9 18 27 36 45 54 63 72 81

38p 연습문제 Q14-<기본알고리즘-다중반복>

package kr.bin;
import java.util.*;
import java.io.*;

public class solution {
	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		
		System.out.print("단 수 :");
		int dan = stdIn.nextInt();
		
		for(int i=1; i<=dan;i++) {
			for(int j=1; j<=dan;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
	}
	
	
}

단 수 :5
*****
*****
*****
*****
*****

38p 연습문제Q17-<기본알고리즘-다중반복(피라미드)>

package kr.bin;
import java.util.*;
import java.io.*;

class solution {

	//--- 숫자를 나열하여 피라미드를 출력 ---//
	static void npira(int n) {
		for(int i=1;i<=n;i++) {
			for(int j=1; j<=n-i; j++) {
				System.out.print(" ");
			}
			for(int j=1; j<=(i-1)*2+1;j++) {
				System.out.print(i%10);
			}
			System.out.println();
		}
	}

	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int n;
		System.out.print("피라미드 단 입력:");
		n = stdIn.nextInt();

		System.out.println("피라미드를 출력합니다.");
		npira(n);
	}
}

피라미드 단 입력:10
피라미드를 출력합니다.
         1
        222
       33333
      4444444
     555555555
    66666666666
   7777777777777
  888888888888888
 99999999999999999
0000000000000000000