JAVA
자바 배열,메소드 문제
순두부 호랑이
2022. 8. 19. 15:13
728x90
SMALL
Q1. 8칸 크기의 배열을 선언하고 랜덤수로 초기화 한 후 가장 큰 수와 작은 수를 각각 출력하시오.
package 배열_메소드;
import java.util.Arrays;
import java.util.Random;
public class 복습 {
public static void main(String[] args) {
Random rd = new Random();
int[] arr = new int[8];
int max, min;
for (int i = 0; i < arr.length; i++) {
arr[i] = rd.nextInt(100) + 1;
}
max = arr[0];
min = arr[0];
System.out.print("배열에 있는 모든 값 : ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
System.out.println();
System.out.println("가장 큰 값 : " + max);
System.out.println("가장 작은 값 : " + min);
}
}
Q2. 두 개의 정수를 매개변수로 받아 앞의 정수가 뒤의 정수로 나누어지는지를 판별하는 메소드 isDivide()를 작성하세요. 이때, 나누어지면 true, 나누어지지 않으면 false을 반환함.
package 배열_메소드;
import java.util.Arrays;
import java.util.Random;
public class 복습 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 3;
boolean result = isDivide(num1,num2);
System.out.println("결과 확인 : "+ result);
}
public static boolean isDivide(int num1, int num2) {
if(num1%num2==0) {
return true;
}else {
return false;
}
}
}
Q3. 정수 N을 입력받아 N*N 배열에 다음과 같이 숫자를 저장하고 출력하시오.
package 배열_메소드;
import java.util.Scanner;
public class 복습 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("숫자 입력");
int n = sc.nextInt();
int[][] arr = new int[n][n];
int num = 1;
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[j][i] = num++;
}
}
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
Q4.가운데 글자 구하기 getMiddle 메소드는 하나의 단어를 입력 받습니다.
단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요.
단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다.
예를 들어 입력받은 단어가 power 이라면 w 를 반환하면 되고, 입력받은 단어가 test 라면 es 를 반환하면 됩니다.
package 배열_메소드;
public class 복습 {
public static void main(String[] args) {
System.out.println(getMiddle("power"));
}
private static String getMiddle(String s) {
int len = s.length();
if(len%2==1) {
return s.substring(len/2, len/2+1);
}else {
return s.substring(len/2-1, len/2+1);
}
}
}
Q5. 아래와 같이 학생들의 성적정보가 문자열로 선언되어 있을 때 각 성적 별 학생 수를 출력하시오.
package 배열_메소드;
import java.util.Arrays;
public class ex05 {
public static void main(String[] args) {
String score = "A,A,B,C,D,A,C,D,D,D,F";
//String -> split()
String[] scoreArr =score.split(",");
//1. 각 알파벳의 개수를 카운팅할 변수 따로
int a=0, b=0, c=0, d=0, f=0;
//2. 각 갯수를 저장할 배열 생성[5]
int[]cntArr = new int [5];
//정수형 배열은 따로 값을 설정하지 않으면 기본값 0
//0-A 1-B 2-C 3-D 4-F
for(String s:scoreArr) {
if(s.equals("A")) {
a++;
cntArr[0]++;
}else if(s.equals("B")) {
b++;
cntArr[1]++;
}else if(s.equals("c")) {
c++;
cntArr[2]++;
}else if(s.equals("D")) {
c++;
cntArr[3]++;
}else { //F
f++;
cntArr[4]++;
}
}
System.out.println("A : "+a+"명");
System.out.println("B : "+b+"명");
System.out.println("C : "+c+"명");
System.out.println("D : "+d+"명");
System.out.println("F : "+f+"명");
System.out.println(Arrays.toString(cntArr));
}
}
Q6. num1, num2, op(+,-,*,/)를 매개변수로 받아 num1 과 num2를 op에 맞게 연산하
728x90
LIST