Java 배열 값 출력하기

별의개발자커비·2023년 1월 28일
0

Java

목록 보기
19/66
post-thumbnail

1. java.util.Arrays.toString() 메소드

Arrays.toString(배열이름);

위 코드에서는 배열의 값을 출력하기 위해서

java.util.Arrays.toString() 메소드를 사용하였습니다.

java.util.Arrays.toString() 메소드는 파라미터로 배열을 입력받아서,

배열에 정의된 값들을 문자열 형태로 만들어서 리턴

2. 배열 1

import java.util.Iterator;
import java.util.Scanner;

public class Demo8 {

	public static void main(String[] args) {
		// 국영수로 입력값을 받음
		int[] score = new int[3];
		for (int i = 0; i < score.length; i++) {
			score[i] = getDataFromConsole();
		}
		// 여기까지... 배열에 각 요소에 데이터가 들어있음.
		int total = 0 ;
		double avge = 0.0 ;
		for (int i = 0; i < score.length; i++) {
			total += score[i] ;
		}
		avge = (double) total / score.length ; // double 타입 캐스팅!! 기억하기!!
		System.out.println("t: " + total );
		System.out.println("a: " + avge );

	}
	
	// 2. 데이터 입력받기 (정수형) -> int
	public static int getDataFromConsole() {
		Scanner sc = new Scanner(System.in) ;
		System.out.print("숫자를 입력하세요: ");
		int number1 = sc.nextInt() ;
		return number1 ;
	}
}

3. 배열 2

package lesson4;

public class Demo10 {

	public static void main(String[] args) {
		// one class
		// student number : 5
		// subject per student : 3

		String[] studentNames = { "김", "이", "박", "홍", "최" };

		int[][] subjects = { { 80, 90, 70 }, { 90, 80, 60 }, { 50, 60, 70 }, { 20, 30, 40 }, { 10, 20, 30 } };

		double[] avgs = { 0.0, 0.0, 0.0, 0.0, 0.0 }; // 초기화 한 번 시키기!

		// 목차
		System.out.println("이름\t국\t영\t수\t평균");

		// 2차원 배열이 subjects를 순환하면서 각 1차원 배열의 평균을 구해서 해당 순서에 맞게 avgs에 대입한다.
		for (int i = 0; i < subjects.length; i++) { // 2차원을 구성하는 1차원 갯수
			int total = 0;

			for (int j = 0; j < subjects[i].length; j++) { // 1차원을 구성하는 데이터의 갯수 // 오 3이라고 쓰지말고 subjects[i].length 쓰면
															// 되겠구나
				total += subjects[i][j];
			}

			avgs[i] = total / subjects[i].length;

			// 종합적으로 출력
			System.out.println(studentNames[i] + "\t" + subjects[i][0] + "\t" + subjects[i][1] + "\t" + subjects[i][2]
					+ "\t" + avgs[i]);
		}
	}
}

// 개선된 버전 --- 최대한 그대로 쓰지 않고 변수로 쓰려고 변환! : 알아볼 수 있게

		// 2차원 배열이 subjects를 순환하면서 각 1차원 배열의 평균을 구해서 해당 순서에 맞게 avgs에 대입한다.
		
		for (int i = 0; i < subjects.length; i++) { // 2차원을 구성하는 1차원 갯수
			
			// 필요한 변수들 생성 모음.zip --- 최대한 그대로 쓰지 않고 변수로 쓰려고 변환 했다.
			int total = 0;
			String tab = "\t" ;
			String name = studentNames[i] ;
			String subject =  tab ;
			double avg = 0.0 ;

			for (int j = 0; j < subjects[i].length; j++) { // 1차원을 구성하는 데이터의 갯수 // 오.. 3이라고 쓰지말고 subjects[i].length 쓰면 되겠구나
				total += subjects[i][j];
				subject += subjects[i][j] + tab  ;
			}

			avgs[i] = total / subjects[i].length;
			avg = avgs[i] ;
			

			// 종합적으로 출력
			System.out.println( name + subject + avgs[i]);	
		}

0개의 댓글