본문 바로가기

[JAVA]

[JAVA]9월 14일 2차원 배열, 2차원 배열의 초기화와 크기 예제

*2차원 배열



2차원배열은 그림과 같은식으로 이루어진다.

간단한 예제를 보면서 이해해보자.


public class Test {


public static void main(String[] args) {

final int YEARS = 3;

final int QUARTERS = 4;

double[][] rain = new double[YEARS][QUARTERS];

Scanner scan = new Scanner(System.in);

for (int y = 0; y < YEARS; y++){

for (int q = 0; q < QUARTERS; q++){

System.out.print(y + "차년도" + q + "분기 강수량 : ");

rain[y][q] = scan.nextDouble();

}

}

for (int y = 0; y < YEARS; y++){

double total = 0.0;

for(int q = 0; q < QUARTERS; q++){

total += rain[y][q];

}

System.out.print(y + "차년도 강수량은" + total);

}

}

}


*2차원 배열의 초기화와 크기 예제

public class Test {


public static void main(String[] args) {

   int[][] array = { { 10,20,30,40,}, {50,60,70,80,}, {50,100,110,120}};

for (int r = 0; r < array.length; r++){

for (int c = 0; c < array[r].length; c++){

System.out.println(r + "행" + c + "열 :" + array[r][c]);

}

}

}

}


*2차원 배열을 이용한 전기세 예제


전기 사용량이 


100이하면 기본료 400원 다음 100kWh까지 *59.1

200이하면 기본료 890원 다음 100kWh까지 *122.6

300이하면 기본료 1560원 다음 100kWh까지 *183.0

400이하면 기본료 3750원 다음 100kWh까지 *273.2

500이하면 기본료 7110원 다음 100kWh까지 *406.7

500초과하면 기본료 12600원 500초과분 * 690.8

import java.util.Scanner;


public class Test {


public static void main(String[] args) {


int [] basic = {400,890,1560,3750,7110,12600};

double [] basic1 = {59.1,122.6,183.0,273.0,406.7,690.8};

Scanner scan = new Scanner(System.in);

int use;

double pay = 0.0;

System.out.println("전기 사용량을 입력하세요.");

use = scan.nextInt();

int i = 0;

while (!(use <= 100) || i == 5){

pay += 100*basic1[i];

use -=100;

i++;

}

pay += basic[i] + basic1[i] * use;

System.out.println(pay);


while(true)

{

if(use <= 100 || i == 5){

   pay += basic[i] + basic1[i] * use;

break;

}

pay += 100*basic1[i];

use -=100;

i++;

}

}

}