전 시간에 변수를 이용해서 환상적인 앱 을 만들었는데요. 사람의 욕심은 끝이 없죠. 자 어떤 욕심이 저는 생기냐 하면 우리 프로그래머들이 좀 부끄러워 하는거. 데이터가 바뀌었다고 코드를 바꾸는거. 데이터가 바뀌었다고 로직을 바꾸는거. 우리 좀 부끄러워 하거든요. 무슨 얘기냐 하면 만약에 우리가 받은 돈이 만원이 아니라 2만 원짜리 물건을 우리가 판매했다 그럼 어떻게 해야 돼요. 코드를 결국 달 말 이클립스를 켜고 코드를 열고 거기를 수정 해야 된단 말이죠. 이거 좀 부끄럽다는 말이에요 그래서 이제 우리 애플리케이션의 이제 뭐가 필요한 거에요. 입력 값을 주면 그에 따라서 서로 다른 출력 값을 만들어 내는 애플리케이션을 만들고 싶어진 겁니다 자 그러면 어떻게 하면 되는지 우리 전에 살펴봤지만 복습 차원에서 같이 한번 봅시다.
자 일단 요 args라는 저 값으로 입력 값이 들어오도록 약속되어 있고 이클립스를 쓰는 경우에는 자 여기 클릭해보면 Run as configuration 을 클릭했을 때 여러분이 만든 AccountApp이라고 하는 항목이 자바 애플리케이션의 있어야 되구요. 없으면 실행을 한번 시키고 다시 보면 들어있을 겁니다. 자 그리고 거기서 Arguments라고 되어 있는 부분이 바로 입력 값을 입력하는 부분인데 저기다가 여러분이 일 십 백 천 만 점 0 이라고 입력 값을 주고 어 그 다음에 여기 있는 입력값이 10000.0 이라는 것을 알게해서 이름을 바꾸고요. 그리고 Apply를 하게 되면 항목이 업데이트가 됩니다.
public class AccountingApp {
public static void main(String[] args) {
double valueofSupply = args[0];
자 그리고 일단은 Close. 그리고 args 에 들어있는 값 중에서 첫 번째가 프로그래밍에서는 0부터 카운트 하져. 0 이라고 하면 됐는데 이렇게 했을 때 에러가 존재하는 이유는 args 라고 하는 우리 아직 배우지 않았지만 데이터 타입 상으로는 문자열을 값으로 하는 배열이거든요. 그 배열에 데이터 타입은 문자열인데 그 문자열을 우리가 double 데이터 타입을 넣으려고 했더니 에러가 난 거에요. 이런 문제 어떻게 해결 해야 되요 당연히 검색이 중요합니다.
자 제가 지금 하고 싶은 것은 String을 뭘로 받고 싶어요 double로 받고 싶다. java 자 이렇게 검색하면 엄청나게 많은 검색 결과가 나올 것이고 그 중에서 예제를 보면 여기 있는 요 Double.parseDouble인 거 같아요.
double total = Double.parseDouble(jlbTotal.getText());
double price = Double.parseDouble(jlbPrice.getText());
카피해서 적용을 해 보는 것이죠. 자 이렇게 생겼습니다. 자 이런 딱 봤을때 parse. 분석하다 라는 뜻인데 double. 그래서 들어온 문자열을 더블형 으로 바꾼다. 이런 뜻이에요. 자 그리고 한번 실행시켜 볼까요 123
자 보시는 것처럼 2만이 들어간 것을 볼 수가 있고 여러분 여러가지 실험 을 하고 싶거나 아니면 여러분이 만들고 있는 이 애플리케이션에서 여러분이 자주 사용되는 것들을 추가하고 싶으면 이걸 클릭해서 오른쪽 클릭 duplicate 그리고 arguments 에서 이번에는 입력 값으로 4만을 주고요. 40000 여기 있는 값도 이렇게 바꾸는 거.죠 자 그렇게 해서 Apply 해서 저장을 하고요.
Run 을 눌러보면 보시는 것처럼 입력값이 4만이고 그리고 그 밑에 있는 값들은 4만에 맞게 달라진 결과를 볼수가 있습니다.
자 그런데 이제 또 실행할 때마다 이클립스를 키는 건 이건 참 별로잖아요. 그래서 우리 뭘 꿈꿔요. 이클립스 없이 아주 간편하게 우리가 만든 자바 애플리케이션을 실행하고 싶다 라는 욕망이 생기잖아요. 그럼 어떻게 하면 될까요. 자 일단은 지금 우리의 프로젝트 경로를 찾아내야죠.
자 프로젝트를 선택하시고 오른쪽 클릭해서 Properties로 갑니다. 자 거기에 보시면 경로가 이렇게 있거든요. 경로를 일단 카피를 저는 했습니다. 그 다음에 터미널 또는 콘솔이 라고 불리는 프로그램을 키 세요. 윈도우에서는 윈도우 키 + R에서 cmd 라고 입력하면 되고.
자 그럼 이제 제가 cd 그리고 이렇게 붙여넣기 해서 이 경로를 들어오는데 그리고 여기 있는 요 파일들을 보겠습니다. 윈도우 면 dir을 하셔야 되고요 맥이나 또는 리눅스 같은 데서는 ls - 애를 하시면 됩니다.
자 그럼 이제 여기에 AccountingApp.class 라고 하는 파일이 있죠. 이제 우리가 컴파일을 한 거예요. 우리가 이따 이것에 Create 해 준 거죠. 자 클래스 파일을 실행할 때는 자바에게 AccountApp.class를 실행해 라고 하면 자바는 AccountApp.class 파일을 실행을 하게 되는 거에요. 자 그리고 엔터치면 에러가 납니다. 왜 여섯 번째 줄에 에러가 나는데 여기입니다. 즉 값을 입력하지 않았기 때문이에요. 그러면 값은 어떻게 입력해요.
둘다 한 칸 띄우고 33333.0이라고 하고 엔터를 치면 보시는 것처럼 33333.0 원 에 대한 계산 결과를 우리에게 알려주는 것을 볼 수가 있습니다.
자 그럼 이제 그 다음에 우리가 가질 만한 불만족은 다른 컴퓨터에서도 이 앱을 실행하고 싶을 수도 있겠죠. 자 그땐 어떻게 하면 돼요. 여러분이 소스 코드까지 가지고 가고 싶으면 AccountingApp.java 파일까지 가지고 가면 되는데 이미 컴파일된 이것만 가지고 있으면 제가 실행파일이 거든요 그럼 전 usb 메모리나 또는 이메일 같은거나 뭐 이런 것에 이게 잘 담았다가 다른 거 밑에 가서 쟤를 실행시키면 되죠. 근데 한가지 조심하셔야 될 것은 그 컴퓨터에 자바 런타임 환경 또는 자바 버추얼 머신 이라고 하는 이 프로그램이 있죠. 자바 이 프로그램만큼은 설치가 되어 있어야지 할 수 있는 저걸 실행을 시킬 수 있다는 것도 기억은 해두시길 바랍니다.
자 근데 사람의 욕심은 끝이 없잖아요. 그래서 여러분이 만약에 어떤 컴퓨터에 자바 버추얼 머신 조차도 설치 안 돼 있는 컴퓨터에서 실행하고 싶다 그러면 Launch4j와 같은 이런 어 솔루션들을 좀 찾아서 이런 소프트웨어를 찾아서 사용하시면 얘를 이용하면 여러분이 짠 그 파일을 감싸는 거예요. Launch4j가 그리고 그 안에다가 자바 버추얼 머신 까지도 넣어 놓기 때문에 이 Launch4j를 통해서 만들어진 실행파일은 그 컴퓨터에 자바 버추얼 머신 이 설치가 안되어 있어도 얘가 내장을 해버리기 때문에 여러분의 프로그램 에다가 실행할 수 있는 상태가 또 되는 것이죠.
자 이렇게 해서 입력 값을 통해서 서로 다른 결과를 만들어내는 프로그램을 우리가 만드는 법을 살펴 보았고 이것만으로도 이전에 우리의 프로그램보다 훨씬 더 훌륭한 상태가 된게 느껴지시죠.
------
* 유튜브 강의에서 자막을 추출해 정리했습니다.
-----
* 입력값을 바꾸려면 Run as Configuration 에서 Arguments에 새로운 입력값을 넣으면 된다.
* Launch4j로 이 class 파일을 감싸서 다른 컴퓨터에서도 설치할 수 있다.
* String[] args 라고 메인이 되어 있는데, args[0] double 타입이라 수정이 필요.
Double.parseDouble < 를 이용해서 string 타입을 double 타입으로 바꿔줌
* 명령 프롬프트에서 입력값을 새로 넣으려면
- cmd 진입
- 'cd 그 java project의 경로' 입력
- 'javac AccountingApp.class' 입력
- 'java AccountingApp 33333.0' 입력
'생활코딩 > JAVA1' 카테고리의 다른 글
생활코딩) JAVA1 - 14.6. 나의 앱 만들기 - 조건문 (0) | 2021.05.15 |
---|---|
생활코딩) JAVA1 - 14.5. 나의 앱 만들기 - 오리엔테이션2 (0) | 2021.05.15 |
생활코딩) JAVA1 - 14.3. 나의 앱 만들기 - 변수도입 (0) | 2021.05.14 |
생활코딩) JAVA1 - 14.2. 나의 앱 만들기 - 기본 기능 구현 (0) | 2021.05.13 |
생활코딩) JAVA1 - 14.1. 나의 앱 만들기 - 오리엔테이션 (0) | 2021.05.12 |