본문 바로가기
JavaTest

test.controller

by nyamnmm 2024. 7. 8.

 

javaTest1
test.controller

 

 

Package명 클래스명 메소드 설명
test.controller Test00 +main(args:String []):void main 함수 안에서 모든 코드 작업 진행

 

 

문제 1
키보드로 1개의 정수형(int) 데이터를 입력받아, 1~100 사이의 값일 때만 2의 배수인지 아닌지 를 출력 처리한다
package test.controller;

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수 입력 : ");
		int num = sc.nextInt();
		
		if(num >= 1 && num <= 100) {
			if(num % 2 == 0) {
				System.out.println("2의 배수입니다.");
			}
			else {
				System.out.println("2의 배수가 아닙니다.");
			}
		}
		
		sc.close();
	}
}

 


 

문제 2
2단에서 5단까지의 구구단의 결과 중 홀수인 것만 출력한다.
단, for문을 이용한다.
package test.controller;

public class Test2 {
	public static void main(String[] args) {
		for(int i = 2; i <= 5; i++) {
			for(int j = 1; j <= 9; j += 2) {
				System.out.printf("%d * %d = %d \n", i, j, (i * j));
			}
		}
	}
}

 


 

문제3
1부터 100까지의 모든 정수들의 합과 평균을 구하는 프로그램을 작성한다.
단, while문이나 do while문을 이용하여 작성한다.
(합계와 평균은 double 형으로 계산한다.)
package test.controller;

public class Test3 {
	public static void main(String[] args) {
		double sum = 0, avg = 0;
		int n = 1;
		
		while(n <= 100) {
			sum += n;
			n++;
		}
		
		avg = sum / 100.0;
		
		System.out.println("합계 : " + sum);
		System.out.println("평균 : " + avg);
	}
}

 


 

문제4
1자리 정수형(1부터 9까지만) 값을 2개 입력받아 4칙연산 결과(합, 차, 곱, 나누기한 몫)를 출력한다.
단, 나누는 수(분모)가 0이거나 0보다 작으면 결과는 0 처리한다.
(입력값과 모든 결과는 int 형으로 처리한다.)
package test.controller;

import java.util.Scanner;

public class Test4 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("첫 번째 정수 : ");
		int a = sc.nextInt();
		
		System.out.print("두 번째 정수 : ");
		int b = sc.nextInt();
		
		int add = a + b;
		int sub = a - b;
		int mul = a * b;
		int div;
		
		if(b <= 0) {
			div = 0;
		}
		else {
			div = a / b;
		}
		
		System.out.println("합 : " + add);
		System.out.println("차 : " + sub);
		System.out.println("곱 : " + mul);
		System.out.println("나누기 : " + div);
		
		sc.close();
	}
}

 


 

문제5
키보드로 2개의 정수형 데이터를 입력 받아, 두 수가 모두 1부터 9까지의 수일 때만,
두 수의 곱 이 한자리 수인지 두자리 수인지를 출력한다.
package test.controller;

import java.util.Scanner;

public class Test5 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("첫 번째 정수 입력 : ");
		int a = sc.nextInt();
		System.out.print("두 번째 정수 입력 : ");
		int b = sc.nextInt();
		
		if(a >= 1 && a <= 9 && b >= 1 && b <= 9) {
			if((a * b) < 10) {
				System.out.println("한 자리 수 입니다.");
			}
			else {
				System.out.println("두 자리 수 입니다.");
			}
		}
		
		sc.close();
	}
}

 


 

문제 6
키보드로 1개의 정수형(int) 데이터를 입력 받아 1부터 5까지 일때만 해당 숫자에 해당하는 결과 를 출력 한다.
단, switch문을 이용한다.

<결과>
1 : ** 입력이 정상적으로 되었습니다! **
2 : ** 조회가 시작되었습니다! **
3 : ** 수정이 정상적으로 되었습니다! **
4 : ** 삭제가 정상적으로 되었습니다! **
5 : ** 정상적으로 종료 되었습니다! **
1~5가 아닌 값이 입력 된 경우 : ** 다시 입력해 주세요! **
package test.controller;

import java.util.Scanner;

public class Test6 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("정수 입력 (1 ~ 5) : ");
		int num = sc.nextInt();
		
		switch(num) {
		case 1 :
			System.out.println("** 입력이 정상적으로 되었습니다! **");
			break;
		case 2 :
			System.out.println("** 조회가 시작되었습니다! **");
			break;
		case 3 :
			System.out.println("** 수정이 정상적으로 되었습니다! **");
			break;
		case 4 :
			System.out.println("** 삭제가 정상적으로 되었습니다! **");
			break;
		case 5 :
			System.out.println("** 정상적으로 종료 되었습니다! **");
			break;
		default :
			System.out.println("** 다시 입력해 주세요! **");
		}
		
		sc.close();
	}
}

 


 

문제 7
배열에 들어있는 데이터 중 홀수의 값들을 출력하고 합을 구한다.
단, continue를 이용하여 작성한다.
(합계의 값은 double로 처리 한다.)


<사용 데이터>
int [] array = {1,2,3,4,5,6,7,8,9,10};
package test.controller;

public class Test7 {
	public static void main(String[] args) {
		int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
		double sum = 0;
		
		for(int i = 1; i < array.length; i++) {
			if(i % 2 == 0) {
				continue;
			}
			System.out.print(i + "\t");
			sum += i;
		}
		
		System.out.println("\n합계 : " + sum);
	}
}

 


 

문제 8
2차원 배열에 들어있는 데이터들의 합계와 평균을 구한다.
(합계와 평균 값은 double로 처리 한다.)

<사용 데이터>
int [][] array = {{12, 41, 36, 56}, {82, 10, 12, 61}, {14, 16, 18, 78}, {45, 26, 72, 23}};
package test.controller;

public class Test8 {
	public static void main(String[] args) {
		int[][] array = {
				{12, 41, 36, 56},
				{82, 10, 12, 61},
				{14, 16, 18, 78},
				{45, 26, 72, 23}
				};
		
		double sum = 0, avg = 0;
		
		for(int i = 0; i < array.length; i++) {
			for(int j = 0; j < array[i].length; j++) {
				sum += array[i][j];
				avg++;
			}
		}
		
		avg = sum / avg;
		
		System.out.println("합계 : " + sum);
		System.out.println("평균 : " + avg);
	}
}

 


 

문제 9
2차원 배열에 들어있는 데이터중 가장 큰 값과 가장 작은 값을 구한다.

<사용 데이터>
int [][] array = {{12, 41, 36, 56}, {82, 10, 12, 61}, {14, 16, 18, 78}, {45, 26, 72, 23}};
package test.controller;

public class Test9 {
	public static void main(String[] args) {
		int[][] array = {
				{12, 41, 36, 56},
				{82, 10, 12, 61},
				{14, 16, 18, 78},
				{45, 26, 72, 23}
				};
		
		int max = 0, min = 100;
		
		for(int i = 0; i < array.length; i++) {
			for(int j = 0; j < array[i].length; j++) {
				if(array[i][j] < min) {
					min = array[i][j];
				}
				if(array[i][j] > max) {
					max = array[i][j];
				}
			}
		}
		
		System.out.println("최대값 : " + max);
		System.out.println("최소값 : " + min);
	}
}

 


 

문제 10
2차원 배열에 들어있는 데이터들 중 3의 배수만 골라내서 새로운 1차원배열에 기록하고 출력한 다.
단, 중복 값은 하나만 기록되게 한다.

<사용 데이터>
int [][] array = {{12, 41, 36, 56}, {82, 10, 12, 61}, {14, 16, 18, 78}, {45, 26, 72, 23}};
int[] copyAr = new int[array의 행갯수 * 열갯수];
package test.controller;

public class Test10 {
        public static void main(String[] args) {
            int[][] array = {
                    {12, 41, 36, 56},
                    {82, 10, 12, 61},
                    {14, 16, 18, 78},
                    {45, 26, 72, 23}
                    };
		
            int size = 0;
            for(int i = 0; i < array.length; i++) {
                size += array[i].length;
            }
		
            int[] copyAr = new int[size];
            int copyIndex = 0;
            for(int i = 0; i < array.length; i++) {
                for(int j = 0; j < array[i].length; j++) {
                    if(array[i][j] % 3 == 0) {
                        int count = 0;
                        for(int n = 0; n < copyAr.length; n++) {
                            if(copyAr[n] == array[i][j]) {
                                count++;
                            }
                        }
					
                        if(count == 0) {
                            copyAr[copyIndex++] = array[i][j];
                        }
                    }
                }
            }
		
            System.out.print("copyAr : ");
            for(int i = 0; i < copyAr.length; i++) {
                if(copyAr[i] != 0) {
                    System.out.print(copyAr[i] + "\t");
                }
            }
        }
}

'JavaTest' 카테고리의 다른 글

ncs.test  (0) 2024.07.18