728x90
반복문
Loop
기존 예제.
public class AccountingArrayApp {
public static void main(String[] args) {
double valueOfSupply = Double.parseDouble(args[0]);
double vatRate = 0.1;
double expenseRate = 0.3;
double vat = valueOfSupply*vatRate;
double total = valueOfSupply + vat;
double expense = valueOfSupply*expenseRate;
double income = valueOfSupply-expense;
double[] dividendRates = new double[3];
dividendRates[0] = 0.5;
dividendRates[1] = 0.3;
dividendRates[2] = 0.2;
double dividend1 = income*dividendRates[0];
double dividend2 = income*dividendRates[1];
double dividend3 = income*dividendRates[2];
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("Total : "+total);
System.out.println("Expense : "+expense);
System.out.println("Income : "+income);
System.out.println("Dividend 1 : "+dividend1);
System.out.println("Dividend 2 : "+dividend2);
System.out.println("Dividend 3 : "+dividend3);
}
}
기존 예제에서 동업자는 3명에 불과하다. (dividend1, dividend2, dividend3)
그런데 만약 동업자가 만명 이상이고 그 만명에게 분배하는 비율의 코드가 1억개 이상일 때 어떻게 해야 할까?
똑같이 동업자 만명의 코드를 작성하고 해당하는 분배 비율의 코드를 다 작성해야 할까?
이 문제를 해결하기 위해 기존의 3명의 동업자, 즉 3줄의 데이터를 반복문을 통해 하나의 코드로 만들어보자.
public class AccountingArrayLoopApp {
public static void main(String[] args) {
double valueOfSupply = Double.parseDouble(args[0]);
double vatRate = 0.1;
double expenseRate = 0.3;
double vat = valueOfSupply*vatRate;
double total = valueOfSupply + vat;
double expense = valueOfSupply*expenseRate;
double income = valueOfSupply-expense;
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("Total : "+total);
System.out.println("Expense : "+expense);
System.out.println("Income : "+income);
double[] dividendRates = new double[3];
dividendRates[0] = 0.5;
dividendRates[1] = 0.3;
dividendRates[2] = 0.2;
int i = 0;
while(i < dividendRates.length) {
System.out.println("Dividend : "+(income*dividendRates[i]));
i = i + 1;
}
}
}
왼쪽은 배열만, 오른쪽은 배열 + 반복문으로 코드를 작성했다.
결과적으로 입력값을 넣으면 동일한 값을 출력한다.
동업자가 3명이기 때문에 3줄의 코드가 된 것이고, 1억명이라면 1억줄의 코드가 되었을 것이다.
그러나 배열 + 반복문을 통해 1억명의 동업자가 있다고 하더라도 반복문 안의 프린트 코드 한 줄의 수정으로 1억개의 로직을 동시에 수정할 수 있는 폭발적인 효과를 얻었다.
'youtube.com|user|egoing2 > JAVA1' 카테고리의 다른 글
JAVA1 - 16.2 나의 앱 만들기 (클래스) (1) | 2022.01.25 |
---|---|
JAVA1 - 16.1 나의 앱 만들기 (메소드) (8) | 2022.01.24 |
JAVA1 - 15.2 나의 앱 만들기 (배열) (2) | 2022.01.23 |
JAVA1 - 15.1 나의 앱 만들기 (조건문) (2) | 2022.01.22 |
JAVA1 - 14.3 나의 앱 만들기 (입력값 도입) (2) | 2022.01.22 |