[Java] 배열의 출력 예제

삶걀·2022년 5월 9일
0

Java

목록 보기
8/15

136p. 예제 5-1

import java.util.Arrays;

public class Ex_JS {

	public static void main(String[] args) {
		int[] iArr1 = new int[10];
		int[] iArr2 = new int[10];
		int[] iArr3 = {100, 95, 80, 70, 60};
		char[] chArr = {'a', 'b', 'c', 'd'};
		
		for (int i=0; i < iArr1.length ; i++) {
			iArr1[i] = i + 1; //1부터 10까지 숫자를 순서대로 배열에 넣는다.
		}
		
		for (int i=0; i < iArr2.length ; i++) {
			iArr2[i] = (int)(Math.random()*10) + 1; //1~10 사이 숫자를 랜덤으로 저장. 중복도 가능
		}
		
		for(int i=0; i < iArr1.length; i++) {
			System.out.print(iArr1[i]+",");
		}
		System.out.println();
		
		System.out.println(Arrays.toString(iArr2));
		System.out.println(Arrays.toString(iArr3));
		System.out.println(Arrays.toString(chArr));
		System.out.println(iArr3);
		System.out.println(chArr);
	}
}
출력값:
1,2,3,4,5,6,7,8,9,10,
[4, 10, 10, 7, 9, 9, 3, 3, 2, 4]
[100, 95, 80, 70, 60]
[a, b, c, d]
[I@5ca881b5
abcd
//print 함수를 이용하여 출력했을때 문자와 정수의 출력값이 다르다. 문자는 제대로 출력되지만 정수는 배열과 다른값이 출력된다. 





137p. 예제 5-2

public class Ex_JS {

	public static void main(String[] args) {
		int sum = 0;
		float average = 0f; //정확한 값을 얻기 위해 실수로 형변환
		
		int[] score = {100, 88, 100, 100, 90};
		
		for (int i=0; i<score.length;i++) {
			sum += score[i];
		}
		average = sum/(float)score.length; //실수로 값을 출력하기 위해 양변중 한변을 형변환을 해줌
		
		System.out.println("총합 : " + sum);
		System.out.println("평균 : " + average);
	}
}
출력값:
총합 : 478
평균 : 95.6





138p. 예제 5-3

public class Ex_JS { //최대값과 최소값

	public static void main(String[] args) {
		int[] score = {79, 88, 91, 33, 100, 55, 95};
		
		int max = score[0]; //배열의 첫번째 값으로 초기화 한다.
		int min = score[0];
		
		for(int i=1; i<score.length;i++) { //배열의 첫값으로 초기화했으므로, 두번째부터 읽기 위해 i=1로 초기화
			if(score[i] > max) {
				max = score[i];
			} else if(score[i] < min) {
				min = score[i];
			}
		}
		
		System.out.println("최대값: " + max);
		System.out.println("최소값: " + min);
	}
}
출력값:
최대값: 100
최소값: 33





139p. 예제 5-4

import java.util.Arrays;

public class Ex_JS { //shuffle(섞기)

	public static void main(String[] args) {
		int[] numArr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
		System.out.println(Arrays.toString(numArr));
		
		for (int i=0; i < 100; i++ ) { //100번 반복한다.
			int n = (int)(Math.random()*10); //0~9중 한 값을 임의로 얻는다.
			int tmp = numArr[0]; // 서로 값을 바꾸기 위한 빈 그릇 생성, 빈 그릇에 numArr배열의 첫번째 값을 저장
			numArr[0] = numArr[n]; //랜덤으로 추출한 n번째 값을 numArr배열의 첫번째 칸에 저장한다.
			numArr[n] = tmp; //tmp에 저장해둔 numArr배열의 첫번째 값을 numArr배열의 n번째 칸에 넣는다.
			//위 과정을 100번 반복한다.
		}
		System.out.println(Arrays.toString(numArr));
	}
}
출력값:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 7, 9, 8, 1, 6, 0, 3, 4, 5]




140p. 예제 5-5

public class Ex_JS { //로또번호 만들기
	public static void main(String[] args) {
		int[] ball = new int[45]; //45개의 정수값을 저장하기 위한 배열 생성
		
		for(int i=0; i <ball.length; i++)
			ball[i] = i+1;
		
		int tmp = 0;
		int j = 0;
		
		for(int i=0; i < 6; i++) {
			j =(int)(Math.random()*45);
			tmp = ball[i];
			ball[i] = ball[j];
			ball[j] = tmp;
		}
		
		for(int i=0; i < 6; i++)
			System.out.printf("ball[%d]=%d%n", i, ball[i]);	
	}
}
출력값:
ball[0]=3
ball[1]=5
ball[2]=23
ball[3]=30
ball[4]=41
ball[5]=12




142p. 예제 5-6

public class Ex_JS {

	public static void main(String[] args) {
		String[] names = {"Kim", "Park", "Yi"};
		
		for(int i=0; i <names.length; i++)
			System.out.println("names["+i+"]:"+names[i]);
		String tmp = names[2];
		System.out.println("tmp:"+tmp);
		names[0] = "Yu";
		
		for(int i=0; i < names.length;i++)
			System.out.println(names[i]);
	}
}
출력값:
names[0]:Kim
names[1]:Park
names[2]:Yi
tmp:Yi
Yu
Park
Yi




145p. 예제 5-7

public class Ex_JS {

	public static void main(String[] args) {
		System.out.println("매개변수의 개수:"+args.length);
		for(int i=0;i<args.length;i++) {
			System.out.println("args[" + i + "] = \""+ args[i] + "\"");
		}
	}
}
출력값:
매개변수의 개수:3
args[0] = "abc"
args[1] = "213"
args[2] = "Hello world"

-Scanner클래스의 nextLine()외 사용자로부터 값을 입력받을 수 있는 방법임.
-이클립스는 Run 탭에서 Arguments에 커맨드라인 매개변수를 입력해야한다.
-공백으로 구분하므로 공백이 포함된 문자열은 ""로 감싸준다.
-숫자도 문자열로 처리된다
-해당 문자열은 args[]배열에 저장된다
-커맨드라인 매개변수를 입력하지 않으면 크기가 0인 배열이 생성됨




150p. 예제 5-8

public class Ex_JS {

	public static void main(String[] args) {
		int[][] score = {
				{ 100, 100, 100 },
				{ 20, 20, 20 },
				{ 30, 30, 30 },
				{ 40, 40, 40 }
				
		};
		int sum = 0;
		
		for (int i=0; i < score.length; i++) {
			for (int j=0; j < score[i].length; j++) {
				System.out.printf("score[%d][%d]=%d%n", i, j, score[i][j]);
				
				sum += score[i][j];
			}
		}
		System.out.println("sum="+sum);
	}
}
출력값:
score[0][0]=100
score[0][1]=100
score[0][2]=100
score[1][0]=20
score[1][1]=20
score[1][2]=20
score[2][0]=30
score[2][1]=30
score[2][2]=30
score[3][0]=40
score[3][1]=40
score[3][2]=40
sum=570




151p. 예제 5-9

public class Ex_JS {

	public static void main(String[] args) {
		int[][] score = {
				{100, 100, 100},
				{20, 20, 20},
				{30, 30, 30},
				{40, 40, 40},
				{50, 50, 50}, 
		};
		int korTotal = 0, engTotal = 0, mathTotal = 0;
		
		System.out.println("번호  국어  영어  수학  총점  평균 ");
		System.out.println("============================");
		
		for(int i=0; i < score.length;i++) {
			int sum = 0;
			float avg = 0.0f;
			korTotal += score[i][0];
			engTotal += score[i][1];
			mathTotal += score[i][2];
			System.out.printf("%3d", i+1);
			
			for (int j=0; j < score[i].length; j++) {
				sum += score[i][j];
				System.out.printf("%5d", score[i][j]);
			}
			
			avg = sum/(float)score[i].length;
			System.out.printf("%5d %5.1f%n", sum, avg);
		}
		
		System.out.println("============================");
		System.out.printf("총점:%3d %4d %4d%n", korTotal, engTotal, mathTotal);
	}
}
출력값:
번호  국어  영어  수학  총점  평균 
============================
  1  100  100  100  300 100.0
  2   20   20   20   60  20.0
  3   30   30   30   90  30.0
  4   40   40   40  120  40.0
  5   50   50   50  150  50.0
============================
총점:240  240  240




152p. 예제 5-10

import java.util.Scanner;

public class Ex_JS {

	public static void main(String[] args) {
		String[][] words = {
				{"chair", "의자"},
				{"computer", "컴퓨터"},
				{"integer", "정수"}
		};
		
		Scanner scanner = new Scanner(System.in);
		
		for (int i=0; i < words.length;i++) {
			System.out.printf("Q%d. %s의 뜻은?", i+1, words[i][0]);
			
			String tmp = scanner.nextLine();
			
			if(tmp.equals(words[i][1])) {
				System.out.printf("정답입니다.%n%n");
			} else {
				System.out.printf("틀렸습니다. 정답은 %s입니다.%n%n", words[i][1]);
			}
		}
	}
}
출력값:
Q1. chair의 뜻은?몰?루
틀렸습니다. 정답은 의자입니다.

Q2. computer의 뜻은?컴퓨터
정답입니다.

Q3. integer의 뜻은?정수
정답입니다.
profile
반숙란 좋아하는사람

0개의 댓글