JAVA1 - 14.3 나의 앱 만들기 (입력값 도입)

2022. 1. 22. 11:37·youtube.com|user|egoing2/JAVA1
728x90


입력값 도입

 

프로그래머들이 부끄러워하는 것.

데이터가 바뀌었다고 코드를 바꾸는 것, 데이터가 바뀌었다고 로직을 바꾸는 것. 

 

만약 공급가가 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 

 

error (AccountingApp.java:6)

 

 

이 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
'youtube.com|user|egoing2/JAVA1' 카테고리의 다른 글
  • JAVA1 - 15.2 나의 앱 만들기 (배열)
  • JAVA1 - 15.1 나의 앱 만들기 (조건문)
  • JAVA1 - 14.2 나의 앱 만들기 (변수 도입)
  • JAVA1 - 14.1 나의 앱 만들기 (OT, 기본 기능 구현)
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급
    javascript
    백준
    css
    baekjoon
    중국어공부
    조건문
    HSK6급필수어휘
    Java
    최범균
    js
    알고리즘문제
    객체
    Java자료구조
    mysql
    DATABASE2
    도메인 주도 설계
    나의 앱 만들기
    JAVA1
    Domain Driven Design
    생활코딩
    자바
    개발공부
    ddd
    HSK6급공부
    BOJ
    HSK6급모의고사
    variable
    HTML
    코딩공부
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ro117youshin
JAVA1 - 14.3 나의 앱 만들기 (입력값 도입)
상단으로

티스토리툴바