들어가기 전에
우리가 만든 프로그램은 공급가만 바꾸면 쉽게 다른 값들도 계산할 수 있게 되었지만
여전히 공급가를 바꾸려면 이클립스를 켜서 공급가를 바꾸어야 합니다.
이제는 아규먼트를 받아서 자동적으로 필요한 값들을 계산할 수 있도록 만들어 봅시다.
학습 목표
우리가 만든 프로그램에 아규먼트를 입력하여 실행해 봅니다.
핵심 단어
- 아규먼트(Argument)
- 파라미터(Parameter)
강의 듣기
들어가기 전에
우리가 만든 프로그램은 공급가만 바꾸면 쉽게 다른 값들도 계산할 수 있게 되었지만
여전히 공급가를 바꾸려면 이클립스를 켜서 공급가를 바꾸어야 합니다.
이제는 아규먼트를 받아서 자동적으로 필요한 값들을 계산할 수 있도록 만들어 봅시다.
학습 목표
우리가 만든 프로그램에 아규먼트를 입력하여 실행해 봅니다.
핵심 단어
강의 듣기
아규먼트를 받는 프로그램으로 수정하기
AccountingApp.java를 아래와 같이 수정합니다.
public class AccountingApp {
public static void main(String[] args) {
double valueOfSupply = Double.parseDouble(args[0]);
...
}
}
터미널에서 실행하기
터미널을 실행하여 MyApp 프로젝트 폴더로 이동합니다(cd: Change Directory).
javac AccountingApp.java
javac 명령어로 AccountingApp.java를 컴파일합니다.
java AccountingApp 33333.0
java 명령어로 AccountingApp을 실행하고 아규먼트로 원하는 공급가액을 입력하여 실행합니다.
만약 실행하고자 하는 컴퓨터에 자바조차 깔려있지 않다면...
lauch4j(http://launch4j.sourceforge.net/)와 같은 솔루션을 이용하면
자바 프로그램을 JRE까지 포함한 실행파일로 변환하여,
자바가 깔려있지 않은 컴퓨터라도 애플리케이션을 실행할 수 있게 합니다.
comment
윈도우 cmd에서 사용할때 에러가 났었습니다.
> java AccountingApp 33333.0
Error: LinkageError occurred while loading main class AccountingApp
java.lang.UnsupportedClassVersionError: Preview features are not enabled for AccountingApp (class file version 64.65535). Try running with '--enable-preview'
에러가 말해준대로 --enable-preview를 넣으니 정상작동 했습니다.
>java --enable-preview AccountingApp 33333.0
java 파일은 src에 있고 class파일은 bin 폴더에 있는 경우였습니다. src까지 경로로 들어가서 javac로 컴파일 후 작동하니 됩니다.
30503050.0을 입력값으로 넣으면 에러가 나는 거 같은데 저만 그런가요...?
MyApp java AccountingApp 33333.0
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: AccountingApp has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
이런 에러가 발생하는건 왜그럴까요?
소스폴더를 분리한 경우 src 폴더까지 들어가야 하네요
D드라이브에 저장하신 분들은 명령 프롬프트에서 실행하실때 D: 치고 디렉토리 입력하세요
런치4의 구성 방법은? 강의내용에 미포함되어있네요!