본문 바로가기
국비학원/숙제

Day14_자바 연습문제

by 루팽 2022. 12. 27.
package dev_java.week3.example;

import java.util.Arrays;
import java.util.Scanner;

// **연습문제1**
// 키보드로 부터 5개의 정수를 입력 받아서 배열에 저장하세요.
// 그리고 이들의 합계와 평균을 출력하는 프로그램을 작성하시오.
public class Exam1_221215 {
  Scanner scanner = new Scanner(System.in);

  void methodA() {
    int num[] = new int[5];
    int sum = 0;
    double avg = 0.0;
    System.out.println("숫자 5개를 입력해주세요.");

    // 정수 5개를 입력받아 num[]에 넣고 합계, 평균을 계산하는 for문
    for (int i = 0; i < num.length; i++) {
      num[i] = scanner.nextInt();
      System.out.println("입력한 값: " + Arrays.toString(num));
      sum += num[i];
      avg = sum / 5.0;
    }
    scanner.close();
    System.out.println("입력한 값의 합계는 " + sum + " 입니다.");
    System.out.println("입력한 값의 평균은 " + avg + " 입니다.");
  }

  public static void main(String[] args) {
    Exam1_221215 ex1 = new Exam1_221215();
    ex1.methodA();
  }
}

 

package dev_java.week3.example;

import java.util.Random;

// ***연습문제2***
// -10에서 10사이의 정수 10개를 랜덤하게 채번하여 음수와 양수의 합계를 구하는 프로그램을 작성하시오.
// *출력)
// *배열 : 9 -2 -3 8 0 -3 -8 -6 -2 0
// *음수합 : -24
// *양수합 : 17
public class Exam2_221215 {
  Random random = new Random();

  void methodA() {
    int randomNum[] = new int[10];
    int sumPos = 0;
    int sumNeg = 0;
    System.out.print("랜덤 배열: ");

    // -10~10사이의 랜덤한 숫자를 randomNum[]에 넣는 for문
    for (int i = 0; i < 10; i++) {
      int randomValue = random.nextInt(21) - 10;
      randomNum[i] = randomValue;
      System.out.print(randomNum[i] + " ");

      // 음수, 양수끼리의 합계를 구하는 if문
      if (randomNum[i] > 0) {
        sumPos += randomNum[i];
      } else if (randomNum[i] < 0) {
        sumNeg += randomNum[i];
      }
    }
    System.out.println("\n양수의 합: " + sumPos);
    System.out.println("음수의 합: " + sumNeg);
  }

  public static void main(String[] args) {
    Exam2_221215 ex2 = new Exam2_221215();
    ex2.methodA();
  }
}

 

package dev_java.week3.example;

import java.util.Arrays;
import java.util.Random;

// ***연습문제3***
// 0 부터 9사이의 임의의 수를 100개를 채번하여 한 줄에 10개씩
//   출력하고 그 숫자의 빈도수를 계산하여 출력하시오
// 원본 : 0 1 2 3 4 5 6 7 8 9
//        2 5 6 8 7 8 9 0 1 1
//        5
//        3
//        3
//        7
//        9
//        2
//        0 4 5 6 6 7 8 8 9 9
// 숫자 : 0 1 2 3 4 5 6 7 8 9
// 개수 : 10 9 18 11 7 9 15 14 7 5 
public class Exam3_221215 {
  Random random = new Random();
  int count = 0;

  void methodA() {
    int arrNum[][] = new int[10][10]; // 100개의 수를 담을 배열
    int numCount[] = new int[10]; // 개수를 담을 배열

    // 0~9까지 랜덤한 숫자 100개 채번
    while (count < 100) {
      for (int i = 0; i < 10; i++) {
        for (int j = 0; j < 10; j++) {
          int randomValue = random.nextInt(10);
          arrNum[i][j] = randomValue;
          count++;

          // 채번한 숫자 카운트
          for (int k = 0; k < arrNum.length; k++) {
            if (k == arrNum[i][j]) {
              numCount[k] += 1;
            }
          }
        }
        System.out.print(Arrays.toString(arrNum[i]) + " ");
        System.out.println();
      }
      System.out.println("숫자: [0  1  2  3  4  5  6  7  8  9]");
      System.out.println("개수: " + Arrays.toString(numCount) + " ");
    }
  }

  public static void main(String[] args) {
    Exam3_221215 ex3 = new Exam3_221215();
    ex3.methodA();
  }
}

'국비학원 > 숙제' 카테고리의 다른 글

Day19_중복체크  (0) 2022.12.27
Day18_단순연산 계산기  (0) 2022.12.27
Day13_랜덤 숫자 게임  (0) 2022.12.27
Day12_성적 관리 테이블  (0) 2022.12.27
Day11_ 주소록, 자바 연습문제  (0) 2022.12.27

댓글