JAVA1 - 14.6. 나의 앱 만들기 - 조건문
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 dividend1 = (valueOfSupply - expense) * 0.5;
double dividend2 = (valueOfSupply - expense) * 0.3;
double dividend3 = (valueOfSupply - expense) * 0.2;
if (income > 10000.0) {
dividend1 = income * 0.5;
dividend2 = income * 0.3;
dividend3 = income * 0.2;
} else {
dividend1 = income * 1.0;
dividend2 = income * 0;
dividend3 = income * 0;
}
run configuration에서 arguments값 50000.0과 5000.0 세팅
JAVA1 - 14.7. 나의 앱 만들기 - 배열(Array)
수식배분 0.5,0.3,0.2를 변수 전환 rate1,2,3
흔한 변수와 변수가 많아질 수록(코드가 길어질 수록) 문제발생
다른 사람이 같은 변수를 만든다던가 만든 나도 까먹는다던가
해결책은 배열(array)
배열(Array)의 사용장점
변수가 세개에서 하나로 줄고, dividendRates[0~2]가 연관된 값이라는 것을 직관적으로 알 수 있고,
변수가 오염될 가능성이 현저하게 감소, 연관된 자료 정리정돈 기능
*코드가 길고 복잡해지기 마련이기에 항상 코드 정리정돈할 것
*반복문과 배열을 사용면 폭팔적인 효과가 있음
public static void main(String[] args) {
- 여기 String[] args가 문자열로 이루어진 배열이라는 의미
- 바로 아래 Double.parseDouble(args[0]);이 위의 String[] args배열의 값을 꺼내오는 것(배열값 도입)
double[] 변수명 = new double[3]; // double[] 의미 : 더블형으로 이루어진 배열이다
// new double[3] 의미 : 더블형 데이터를 세개 담을 수 있는 공간이 만들어진 것
아래 rate1,2,3를 배열을 사용하여 dividendRates[0~2]로 변경
double[] dividendRates = new double[3];
dividendRates[0] = 0.5;
dividendRates[1] = 0.3;
dividendRates[2] = 0.2;
double dividend1 = (valueOfSupply - expense) * dividendRates[0];
double dividend2 = (valueOfSupply - expense) * dividendRates[1];
double dividend3 = (valueOfSupply - expense) * dividendRates[2];
JAVA1 - 14.8. 나의 앱 만들기 - 반복문(Loop)
배열과 반복문은 같이 쓰는게 시너지가 크다
수익 배분해야하는 투자자가 만명이 넘는 큰 기업에서 일한다고 상상해보자
dividend 코드줄이 엄청나게 많아야한다면…?
반복문(loop)로 해결가능
double dividend1 = income * dividendRates[0];
double dividend2 = income * dividendRates[1];
double dividend3 = income * dividendRates[2];
// println()을 반복문으로 해결
int i = 0; // 변수 초기화 및 반복문수 기록
while(i < dividendRates.length) { # dividend의 수(투자자수)만큼 반복해야함 // arguments에 입력값 입력
System.out.println("Dividend 1 : " + (income * dividendRates[i])); # dividend1을 dividendRates[i]로 변경
i = i + 1;
}
print문을 수천 수억개의 코드를 이 반복문 하나로 해결!
수정,유지보수도 이거 하나만 고치면 된다