JAVA1 - 15.3 나의 앱 만들기 (반복문)

2022. 1. 24. 13:08·youtube.com|user|egoing2/JAVA1
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
'youtube.com|user|egoing2/JAVA1' 카테고리의 다른 글
  • JAVA1 - 16.2 나의 앱 만들기 (클래스)
  • JAVA1 - 16.1 나의 앱 만들기 (메소드)
  • JAVA1 - 15.2 나의 앱 만들기 (배열)
  • JAVA1 - 15.1 나의 앱 만들기 (조건문)
ro117youshin
ro117youshin
코딩 / 외국어공부 (영어, 중국어) / 독서 등 자기계발을 기록합니다.
  • ro117youshin
    Taking an extra step
    ro117youshin
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • DDD (5)
      • JAVA (13)
      • Spring Boot (2)
      • Spring (4)
      • MySQL (1)
      • C (1)
      • Algorithm & Data Structure (34)
        • study (15)
        • programmers (0)
        • boj (18)
        • assignments (1)
      • CS: Computer Science (6)
        • CS50 2019 (4)
        • Network (2)
        • Database (0)
      • Git (3)
      • foreign language (16)
        • English (0)
        • Chinese (16)
      • BOOK (2)
      • ETC (2)
      • youtube.com|user|egoing2 (64)
        • WEB1 - HTML & Internet (5)
        • WEB2 - CSS (9)
        • WEB2 - JavaScript (18)
        • JavaScript Immutability (0)
        • DATABASE1 (4)
        • DATABASE2 MySQL (12)
        • JAVA1 (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    HSK6급공부
    js
    백준
    도메인 주도 설계
    HSK6급모의고사
    객체
    나의 앱 만들기
    알고리즘문제
    최범균
    BOJ
    ddd
    중국어공부
    생활코딩
    css
    Domain Driven Design
    mysql
    HSK6급
    자바
    javascript
    JAVA1
    baekjoon
    Java
    variable
    DATABASE2
    코딩공부
    조건문
    HSK6급필수어휘
    HTML
    개발공부
    Java자료구조
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ro117youshin
JAVA1 - 15.3 나의 앱 만들기 (반복문)
상단으로

티스토리툴바