JAVA/chapter05_array
Test . array
GAWON
2023. 5. 26. 09:35
package org.joonzis.test;
public class Test01 {
public static void main(String[] args) {
// Test01.java
// Q. 임의의 정수값 5개를 저장한 배열 중에서 인덱스가 1인 곳의 값을 출력
// 1. 배열 선언 int[] arr = new int[5];
// 2. 배열 초기화 int[] arr = {1,2,3,4,5};
// 1. 임의의 정수값 5개를 저장한 배열 만들기
// 2. 해당 배열의 1번 인덱스 값 출력
int[] arr = {1,2,3,4,5};
System.out.println(arr[1]);
}
}
package org.joonzis.test;
public class Test02 {
public static void main(String[] args) {
// Test02.java
// Q. 10, 20, 50, 60, 13, 25, 97 의 총 7개의 정수 값을 저장한 배열을 선언 후
// 60의 값이 들어있는 배열의 인덱스를 출력
int[] arr = {10, 20, 50, 60, 13, 25, 97};
for(int i=0; i<arr.length; i++) {
if(arr[i] == 60) {
System.out.println("60의 인덱스 번호 : " + i);
}
}
}
}
package org.joonzis.test;
public class Test03 {
public static void main(String[] args) {
// Test03.java
// Q. Test02.java 의 값들을 모두 더하고, 총점과 평균을 출력
int[] arr = {10, 20, 50, 60, 13, 25, 97};
int sum = 0; // 합계 변수
double avg = 0;
for(int i=0; i<arr.length; i++) {
sum += arr[i];
}
avg = (double)sum / arr.length;
System.out.println("arr의 합계 : " + sum);
System.out.println("평균 : " + avg);
// 평균 == 합계/개수
//avg = (double)sum / arr.length;
}
}
package org.joonzis.test;
import java.util.Arrays;
import java.util.Scanner;
public class Test04 {
public static void main(String[] args) {
// Test04.java
// 1) Q. 길이가 5인 int형 배열 선언 후,
// 2) 사용자로부터 콘솔입력 받아
// 3) 해당 데이터 값을 모두 더해서 합을 출력하기
int[] arr = new int[5];
Scanner sc = new Scanner(System.in);
// 값 입력 for문
for(int i=0; i<arr.length; i++) {
System.out.print(i +"번 인덱스 값 입력 >> ");
arr[i] = sc.nextInt();
}
// System.out.println( Arrays.toString(arr) );
// 합계 구하는 for
int sum = 0;
for(int i=0; i<arr.length; i++) {
sum = sum + arr[i];
}
System.out.println("배열 내 값의 총 합 : " + sum);
}
}
package org.joonzis.test;
import java.util.Arrays;
import java.util.Scanner;
public class Test05 {
public static void main(String[] args) {
// Test05. java
// Q. int[] arr = {13, 22, -3, 92, 55, 5}
// 배열에서 값을 바꾸고 싶은 인덱스 2개를 선택하여
// 서로 값을 바꾸어 값들을 출력
int[] arr = {13, 22, -3, 92, 55, 5};
Scanner sc = new Scanner(System.in);
System.out.print("변경할 첫 번째 인덱스 >> ");
int fir = sc.nextInt();
System.out.print("변경할 두 번째 인덱스 >> ");
int sec = sc.nextInt();
System.out.println("변경 전 데이터 : " + Arrays.toString(arr));
int tmp = 0; // 임시 변수
tmp = arr[fir];
arr[fir] = arr[sec];
arr[sec] = tmp;
System.out.println("변경 후 데이터 : " + Arrays.toString(arr));
sc.close();
}
}
package org.joonzis.test;
public class Test06 {
public static void main(String[] args) {
// Test06.java
// Q. Test05의 배열을 이용하여 배열 내 값들의 최소, 최대값을 출력
int[] arr = {13, 22, 3, 92, 55, 5};
int max = arr[0];
int min = arr[0];
for(int i=0; i<arr.length; i++) {
// 최대 값
if(max < arr[i]) {
max = arr[i];
}
// 최소 값
if(min > arr[i]) {
min = arr[i];
}
}
System.out.println("최대 : " + max);
System.out.println("최소 : " + min);
}
}
package org.joonzis.test;
import java.util.Scanner;
public class Test07 {
public static void main(String[] args) {
// Test07.java
// Q. 길이가 10인 int형 배열 선언 후, 사용자로부터 콘솔입력 받아 값을 저장한 뒤
// 배열에 있는 정수 중에서 3의 배수만 출력해보자.
int[] arr = new int[10];
Scanner sc = new Scanner(System.in);
// 값 입력 for문
for(int i=0; i<arr.length; i++) {
System.out.print(i +"번 인덱스 값 입력 >> ");
arr[i] = sc.nextInt();
}
// 출력 for문
for(int i=0; i<arr.length; i++) {
if(arr[i] % 3 == 0) {
System.out.println(arr[i]);
}
}
sc.close();
}
}
package org.joonzis.test;
import java.util.Arrays;
import java.util.Scanner;
public class Test08 {
public static void main(String[] args) {
// Test08.java
// Q. 성적 관리 프로그램
// 5명의 int형 점수를 저장하는 scores 배열을 선언하고, 점수를
// 입력받아 최대, 최소, 평균 점수를 출력하기
// String형 배열 names를 선언하고, 학생 5명의 이름을 초기화 한 뒤 활용
// 실행 예)
// 바트의 점수 입력 >> 70
// 리사의 점수 입력 >> 100
// ** 출력 내용 **
// 최대 점수, 최소 점수, 평균 점수
// 제일 높은 점수를 받은 학생의 점수와 이름 출력
int[] scores = new int[5];
Scanner sc = new Scanner(System.in);
String[] names = {"김씨", "이씨", "박씨", "최씨", "정씨"};
for(int i=0; i<scores.length; i++) {
System.out.print(names[i] + "의 점수 입력 >> ");
scores[i] = sc.nextInt();
}
int max = scores[0];
int min = scores[0];
int sum = 0;
double avg = 0;
int maxIdx = 0;
for(int i=0; i<scores.length; i++) {
// 최대 값
if(max < scores[i]) {
max = scores[i];
maxIdx = i;
}
// 최소 값
if(min > scores[i]) {
min = scores[i];
}
sum += scores[i]; // 합계
}
avg = (double)sum/scores.length; // 평균
System.out.println("최고 점수 : " + max + ", 학생 : " + names[maxIdx]);
System.out.println("최저 점수 : " + min);
System.out.println("점수 평균 : " + avg);
}
}
package org.joonzis.test;
import java.util.Scanner;
public class Test09 {
public static void main(String[] args) {
// Test09.java
// Q. 과목 이름을 입력받아 해당 과목 점수를 출력해주는 프로그램을 작성.
// 무한반복을 하다가 "그만"을 입력 받으면, 프로그램 종료
// ★ String[] subjectArr = {"Java", "Python", "Android", "JSP", "Javascript"};
// int[] scoreArr = {95, 88, 78, 62, 55};
// 실행 예)
// Java의 점수는 : 95
Scanner sc = new Scanner(System.in);
String[] subjectArr = {"Java", "Python", "Android", "JSP", "Javascript"};
int[] scoreArr = {95, 88, 78, 62, 55};
while(true) {
System.out.print("과목 이름 >> ");
String subName = sc.next();
for(int i=0; i<subjectArr.length; i++) {
if(subName.equalsIgnoreCase(subjectArr[i])) {
System.out.println(subjectArr[i] + "의 점수는 : " + scoreArr[i]);
}
}
if(subName.equals("그만")) {
break;
}
}
sc.close();
}
}
package org.joonzis.test;
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) {
// 1행 >>3
// 2행 >>2
// 3행 >>3
// 4행 >>4
// 5행 >>5
// 1 1 1
// 1 1
// 1 1 1
// 1 1 1 1
// 1 1 1 1 1
Scanner sc = new Scanner(System.in);
int[][] arr = new int[5][];
// 입력 for
for(int i=0; i<arr.length; i++) {
System.out.print((i+1) + "행 >> ");
int row = sc.nextInt();
arr[i] = new int[row];
for(int j=0; j<arr[i].length; j++) {
arr[i][j] = 1;
}
}
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();
}
}
}