double valueOfSupply=1234.0;
double vatRate = 0.1;
double espeseRate=0.3;
double vat = valueOfSupply*vatRate;
double totla = valueOfSupply+vat;
double expense = valueOfSupply*espeseRate;
double income = valueOfSupply -expense;
double dividend1 = income*0.5;
double divideend2 = income*0.3;
double dividend3 = income*0.2;
System.out.println("Value of supply : "+valueOfSupply);
System.out.println("VAT : "+vat);
System.out.println("Totla : "+totla);
System.out.println("Expencse : "+expense);
System.out.println("Income : "+income);
System.out.println("Dividend 1 : "+dividend1);
System.out.println("Dividend 2 : "+divideend2);
System.out.println("Dividend 3 : "+dividend3);
출력값
Value of supply : 1234.0
VAT : 123.4
Totla : 1357.4
Expencse : 370.2
Income : 863.8
Dividend 1 : 431.9
Dividend 2 : 259.14
Dividend 3 : 172.76
코드 자체는 특별히 어려울것이 없지만 이번에 중요했던것은 변수를 정의하는 것이다.
이 코드는 중복된 계산값이 계속 나타나는데 그것을 변수로 정의해주면 코드도 간단해지고 입력값을 하나만 변환하면 모든 값이 수정되게 된다.
변수로 정의할 값을 선택한 뒤 오른쪽 키 Refactor-> Extra Local variable 을 누르고 정의하고싶은 이름값을 정하면 모든 값이 정의되어 일괄 변환된다
단축키는 shit + Alt + L
다만 같은 값이 있으면 이 정의한 값이 아닌데도 전부 자동변환되니 그런부분을 유의해서 정의하는것이 좋다.
이 경우 vatRate값과 divideend2에 income에 곱해지는 값이 0.3으로 같은데 divideend2의 0.3도 vatRate로 정의될 가능성이 있으니 일괄변환하면 안된다
일괄변화시 vatRate값이 변경되었을때 divideen2의 값도 변경되어 잘못된값이 출력될것이다
Value of supply : 1234.0
값을
Value of supply : Double.parseDouble(args[0]);
으로 정의하였다.
Dobble.parseDouble은 String으로 입력된 숫자값을 Dobble로 바꾸는 코드이다
Cmd창을 켜고 파일의 경로를 찾아 이동한뒤 javac (파일이름).java를 실행했다
이제 만들어진 class파일을 실행하기 위해 java (파일이름).java를 입력하고 실행했다
이 경우 오류메세지가 뜨는데 args[0]으로 정의된 입력값이 부재하기 때문이다 이 입력값을 넣어주려먼
java (파일이름).java (입력값*반드시 숫자) 를 실행해주면된다
나는 java MyApp.java 212345를 실행했고 출력값은 아래와 같다
Value of supply : 212345.0
VAT : 21234.5
Totla : 233579.5
Expencse : 63703.5
Income : 148641.5
Dividend 1 : 74320.75
Dividend 2 : 44592.45
Dividend 3 : 29728.300000000003
이전에 배웠던 강의에서는 이런 입력값을 받기위해 Scanner scanner=new Scanner(System.in)을 썼는데 이번 강의에서는 기초부터 cmd를 사용하는 방식으로 나가는것 같다