JAVA1 - 14.1. 나의 앱 만들기 - 오리엔테이션1
나의 이 현실을 자바를 통해서 어떻게 구원받을 것인가?
다음시간부터는 궁리한 것을 구현하는 방법을 배워보자
JAVA1 - 14.2. 나의 앱 만들기 - 기본 기능 구현
내가 팔고 싶은 물건의 부가가치세 10%를 알아내야한다
System.out.println("Value of supply : " + 10000.0);
System.out.println("Value of supply : " + 10000.0*0.1);
결과값 1000.0
여기까지는 계산기가 더 편하겠지만 아래부터는 자바가 더 좋다
System.out.println("Value of supply : " + 10000.0);
System.out.println("VAT : " + 10000.0*0.1);
System.out.println("Total : " + ( 10000.0 + 10000.0*0.1)); // 공급가+부가가치세로 최종 판매가 도출
System.out.println("Expense : " + ( 10000.0*0.3)); // 얼마를 벌었는지 알려면? 쓴 비용을 빼야함(ex:재료값,장비값,인건비등)
System.out.println("income : " + ( 10000.0 - 10000.0*0.3)); // 공급가-비용=수입
System.out.println("Dividend 1 : " + ( 10000.0 - 10000.0*0.3) * 0.5); // 배당1
System.out.println("Dividend 2 : " + ( 10000.0 - 10000.0*0.3) * 0.3); // 배당2
System.out.println("Dividend 3 : " + ( 10000.0 - 10000.0*0.3) * 0.2); // 배당3
결과값
Value of supply : 10000.0
Value of supply : 1000.0
Total : 11000.0
Expense : 3000.0
income : 7000.0
Dividend : 3500.0
Dividend : 2100.0
Dividend : 1400.0
※ 이클립스 Find/Replace 기능
원하는 문자 또는 숫자를 원하는 내용으로 스위칭해주는 기능
[상단search 버튼] or [상단 Edit 탭]-[Find/Replace]
JAVA1 - 14.3. 나의 앱 만들기 - 변수도입
※ 한번에 같은 변수명으로 변경하는 기능
- 10000.0이라는 공급가 숫자를 변수 valueOfSupply로 한방에 다 바꿔줌
- Preview기능 참고
- 주의사항 : 일괄변환시 의도치않은 바꿔선 안될 글자도 바꿀 수 있기에 조심(코드양이 많을시 특히)
[바꾸기를 원하는 글자 위 우클릭]-[Refactor]-[Extract Local Variale]
※ 이클립스, 써져있는 숫자를 아직 만들지 않은 변수로 바꿀 경우
빨간밑줄 에러 표시 뜨고 해결책으로 해당 변수명을 만들건지 물어보는 툴팁이 뜬다
변경 전 숫자의 데이터 타입을 보고 데이터 타입과 해당 변수명을 윗줄에 만들어준다
변수나 값 하나만도 가능하고, 식 전체도 가능
변수 도입(변수로 변환과정, 코드 간소화)
1) 위의 코드에서 공급가인 10000을 변수 valueOfSupply로 변경
2) 부가가치세인 0.1을 VAT 변경 & 변수 설정
3) 비용인 0.3을 Expense로 변경 & 변수 설정
4) valueOfSupply*vatRate식을 VAT로 변경 & 변수 설정
5) valueOfSupply + vat식을 total로 변경 & 변수 설정
6) valueOfSupply - expense식을 income으로 변경 & 변수 설정
7) (valueOfSupply - expense) * 0.5식을 각각 dividend1~3으로 변경 & 변수 설정
8) 마지막 코드정리 : 변수들 위로 다 올려서 보기좋게. println()들만 모아서 아래로
- 수학식처럼 최대한 풀어서 쓰고, 이고잉님 예제처럼 하나씩 변환과정 거치거나 정리해서 코드간소화하는 훈련!
# 이것이 코드 간소화인 것인가? 컬쳐쇼크
점점 복잡해져가는 코드가 저렇게 간단하게...
개인적으로 더 잘하고 싶게끔 의욕을 불태우게 하는 내용이었다
# 음… 저런 코드개선 작업에서
중간값의 변수를 코드하는거랑 전체식에서 초기에 계산값의 변수를 그냥 두는거랑 뭐가 더 빠를까…?
일단 지금은 빠르게 자바 전체 틀부터 잡자
JAVA1 - 14.4. 나의 앱 만들기 - 입력값 도입
고객 혹은 유저가 지불한 혹은 입력한 값을 출력값에 반영하도록 코드를 짜보자
공급가valueOfSupply의 값을 서로 다른 출력값으로 주는 프로그램을 만들고 싶을 때
아래 2번 args에 입력값이 들어오도록 약속이 되어있으며, 이클립스에서
[상단 run버튼의 아래화살표 누르고 Run configurations 클릭] - [Java application탭] -[ accounting app(클래스명) 클릭] - [arguments탭] argument항목에 20000.0넣고 name 항목에도 클래명에 추가로 20000.0 적어서 알리고 apply 클릭
(혹시 목록에 없다면 클래스를 실행시키고 다시 확인해볼 것)
3번에서 밑줄에 빨간줄 에러표시가 뜬 것은 2번 args에 입력값을 받게 되어있는데 1번에서 2번의 데이터 타입을 Str타입으로 지정해줬고 따라서 2번 args의 데이터타입은 str인데 이 값을 double 타입인 3번 args에 넣을려고 하니 에러표시가 뜬 것
*String[] args의미 = 데이터상으로 문자열을 값으로 하는 배열
검색 및 해결 : string to double java
- Double.parseDouble()
만들고 있는 어플리케이션에서 자주쓰는 것들을 추가하고 싶다면?
run configuration에서 아까 arguments의 값을 넣었던 AccountApp(클래스명) 우클릭 Duplicate - 원하는 arguments값과 naming
실행할 때마다 이클립스는 켜야하는 번거로움 해결
cmd 실행
(명령어입력) java 파일명 : 에러발생
(명령어입력) java 파일명 args수치입력 : ex)java AccountingApp 3333.0
- 다른 컴퓨터에 이 자바파일만 있으면 손쉽게 실행가능
- 자바가 없을 경우, launch4j같은 프로그램으로 JVM까지 통째로 실행파일 포함시켜서 쓸려는 컴퓨터에 자바 환경설정이 안어있어도 실행가능하게한다
JAVA1 - 14.5. 나의 앱 만들기 - 오리엔테이션2
수업방향 : java1 수업을 기초로 다른 필요한 것들을 베워나가면 된다
'JAVA > 생활코딩 JAVA1 (renewal)' 카테고리의 다른 글
생활코딩 JAVA1. 14.9-11 : 메소드(Method),클래스(Class),인스턴스(Instance) (0) | 2022.01.08 |
---|---|
생활코딩 JAVA1. 14.6-8 : 나의 앱 만들기 - 조건문,배열(Array),반복문(Loop) (0) | 2022.01.08 |
생활코딩 JAVA1. 13.5. 자바 문서 보는 법 : 상속(inheritance) (0) | 2022.01.05 |
생활코딩 JAVA1. 13.3-4. 자바 문서 보는 법 : 클래스, 인스턴스, Constructor 생성자 (0) | 2022.01.05 |
생활코딩 JAVA1. 13.1-2. 자바 문서 보는 법 : API vs UI // 패키지,클래스,변수,메소드 (0) | 2022.01.05 |