입력값 도입
프로그래머들이 부끄러워하는 것.
데이터가 바뀌었다고 코드를 바꾸는 것, 데이터가 바뀌었다고 로직을 바꾸는 것.
만약 공급가가 20000.0 이 아닌 30000.0 인 상품을 계산하려 한다면 eclipse를 켜고 들어와 코드를 수정해야 한다.
이것이 부끄럽다는 것이다..
그래서 App에 무엇이 필요하냐면 입력값을 주면 그에 따라서 서로 다른 출력값을 만들어내는 App를 만들고 싶은 것.
우선 예제에는 args라는 값으로 입력값이 들어오도록 약속되어 있다.
Run > Run Configurations.. 클릭
Java Application 에 만들어진 예제 AccountingApp 가 있다.
그리고 (x)= Arguments 부분이 입력값을 입력하는 부분인데
아래와 같이 30000.0 을 입력하고 Apply 후, 일단 Close를 해보자.
공급가에 args[0]을 입력, 빨간줄이 뜨는 이유는
아직 구체적으로 배우지 않았지만 args의 데이터 타입은 String 이다.
이 String 데이터 타입을 double 데이터 타입에 넣었기 때문이다.
double valueOfSupply = args[0];
이럴 때 어떻게 해야 하는가.
추천 검색어 string to double java
double valueOfSupply = Double.parseDouble(args[0]);
이러한 예제에 실험을 하고 싶거나 자주 사용하는 값을 만들고 싶으면 Run Configurations.. 에 들어가
기존의 30000.0 값을 Duplicate 해서 입력값과 이름을 수정하여 추가하면 되겠다.
Run 을 누르면 50000.0 의 값으로 실행된다.
그런데 실행할 때마다 eclipse를 실행해야 한다.
eclipse를 실행하지 않고 Java App을 실행시키고 싶다. 이것을 알아보자.
지금 Project의 경로를 찾아서 CMD로 가자.
(Project 오른쪽 클릭, Properties 에서 경로 확인)
- cd 경로 입력
( 저는 Properties 에서 복사해온 경로에서 src 폴더로 한번 더 들어가야 class 파일이 있었다. )
- dir
(경로 안의 파일 확인)
- javac AccountingApp.java ( Java 컴파일러를 통해 컴파일 필요 )
- 만약 경로 안에 class 파일이 없다면
- java AccountingApp
- error 를 뱉어낸다.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at AccountingApp.main(AccountingApp.java:6)
> 6번째 줄에 에러가 발생하는데, 즉 값을 입력하지 않았기 때문이다. - java AccountingApp _______
ex) java AccountingApp 70000.0
이 App를 다른 컴퓨터에서 실행시키고 싶다면,
메모리 카드 또는 이메일 등등, 소스 코드까지 가지고 가고 싶다면 AccoungtingApp.java까지 가지고 가야 하고
그렇지 않다면 AccoungtingApp.class만 가지고 가면 된다.
다만, 한 가지 조건은 JVM이 설치되어 있어야 한다.
'youtube.com|user|egoing2 > JAVA1' 카테고리의 다른 글
JAVA1 - 15.2 나의 앱 만들기 (배열) (2) | 2022.01.23 |
---|---|
JAVA1 - 15.1 나의 앱 만들기 (조건문) (2) | 2022.01.22 |
JAVA1 - 14.2 나의 앱 만들기 (변수 도입) (0) | 2022.01.21 |
JAVA1 - 14.1 나의 앱 만들기 (OT, 기본 기능 구현) (0) | 2022.01.21 |
JAVA1 - 13.3 상속 Inheritance (6) | 2022.01.20 |