첫 번째 문자열 인수로 'a'가 입력되었는지 감지하려고합니다.Java 커맨드 라인 인수
답변
public class YourClass {
public static void main(String[] args) {
if (args.length > 0 && args[0].equals("a")){
//...
}
}
}
main
메서드는 String[]
인수를가집니다. 여기에는 응용 프로그램에 전달 된 인수가 포함되어 있습니다 (종종 args
이라고 부르지 만 요구 사항은 아닙니다).
명령 줄 인수는 첫 번째 String[]
매개 변수에서 main()
으로 전달됩니다.
public static void main(String[] args) {
}
위 예제에서 args
에는 모든 명령 줄 인수가 포함되어 있습니다. 질문에 짧은, 달콤한 답이 제기
은 다음과 같습니다
public static void main(String[] args) {
if(args.length > 0 && args[0].equals("a")) {
// first argument is "a"
} else {
// oh noes!?
}
}
명령 줄 인수가 main
방법의 String[] args
매개 변수를 통해 액세스 할 수 있습니다.
당신은 args[0]
이
전체 코드가
과 같을 것이다 확인할 수 있습니다public static void main(String[] args) {
if ("a".equals(args[0])) {
// do something
}
}
모든 자바 프로그램은
public static void main(String[] args) {
main()
매개 변수로 소요되는 유형 String
의 배열로 시작 프로그램에 명령 행 인수를 보유합니다. 사용자는
$ java myProgram a
다음 args[0]
는 문자열 "A"를 개최한다로 프로그램을 실행합니다.
다른 사람들이 말한 것처럼 ... .equals 메서드는 필요한 것입니다. ==는 두 객체 (물리적 평등)보다는 내용 (논리 평등)의 위치를 비교하기 때문에 다음이 작동하지 않습니다
if(argv[0] == "a")
: 오프에서
는 같은 것을 사용 기회.명령 줄의 "a"와 프로그램 소스의 "a"는 두 개의 다른 위치에 할당되므로 ==는 사용할 수 없습니다. 두 문자열이 같은 문자를 가지고 있는지 확인하는 equals 메서드를 사용해야합니다.
"a"== "a"는 문자열이 Java에서는 특별하지만 .equals를 사용하려는 시간은 99.99999999999999 %이므로 많은 경우에 작동합니다.
단일 인수 이전으로 확장하려는 경우 apache commons cli을 사용하십시오.
"Apache Commons CLI 라이브러리는 프로그램에 전달 된 명령 행 옵션을 구문 분석하기위한 API를 제공하며, 명령 행 도구에서 사용할 수있는 옵션을 자세히 설명하는 도움말 메시지도 인쇄 할 수 있습니다.긴 옵션과 같은 (. 즉, 타르 -zxvf foo.tar.gz)
- POSIX 즉 뒤 --human 읽을 수있는 "
커먼즈 CLI 옵션의 다른 유형을 지원합니다. - 최대 깊이 = 1)
- Java와 유사한 속성 (예 : java -Djava.awt.headless = true -Djava.net.useSystemProxies = true Foo)
- 값이 첨부 된 짧은 옵션 (예 : gcc -O2 foo.c)
- 긴 옵션 (단일 하이픈 포함) (예 : ant -projec thelp)
시도 값 a를 통과하고 같은 equals 메소드를 사용하여 비교 :
public static void main(String str[]) {
boolean b = str[0].equals("a");
System.out.println(b);
}
이것은'null'이 아닌 ... – Samoth
명령 줄 인수를 알 수있는이 링크를 따르 문자열로 저장됩니다 String
배열 String[] args that is passed to
main()`.
java [program name] [arg1,arg2 ,..]
명령 줄 인수는 프로그램을 실행하는 동안 명령 프롬프트에서 허용하는 입력입니다. 전달 된 인수는 무엇이든 될 수 있습니다. args[]
배열에 저장됩니다.
//Display all command line information
class ArgDemo{
public static void main(String args[]){
System.out.println("there are "+args.length+"command-line arguments.");
for(int i=0;i<args.length;i++)
System.out.println("args["+i+"]:"+args[i]);
}
}
예 :
java Argdemo one two
출력 될 것입니다 : [? 자바 명령 줄 인수를 구문 분석하는 방법]
there are 2 command line arguments:
they are:
arg[0]:one
arg[1]:two
의
예제에서'javastack.java.'는 무엇을 의미합니까? ? 나는 그것이 프로그램을 실행하는 동안 명령 프롬프트에서 입력을 받아들이는데 사용 된 것이 무엇인지에 대해 모르지만 순서는 1) 구문 분석 명령 2) 설정 매개 변수 3) 프로그램 실행. 나는이 프로그램이 '프로그램이 사용자 입력에 의존 할 때 프로그램 실행을 본질적으로 빠르게 할 것'이라는 것을 확실히 모르지만 _parameter에 _ 인자 _ 안에는 아무것도 없다. – greybeard
- 1. 코코아 응용 프로그램의 커맨드 라인 인수
- 2. 자바 커맨드 라인 실행
- 3. 자바 서블릿 커맨드 라인 프로세싱
- 4. 커맨드 라인 java 프로그램에서 PHP 세션에 액세스합니다.
- 5. 커맨드 라인 스크립트
- 6. Eclipse 커맨드 라인 플러그인
- 7. Python 서비스 커스텀 커맨드 인수
- 8. 커맨드 라인 통합 테스트를위한 PHPUnit
- 9. 커맨드 라인/터미널 3D 렌더링
- 10. maven 커맨드 라인 읽기 args
- 11. 이클립스 커맨드 라인 셸 플러그인
- 12. 커맨드 라인 파이썬 스크립트 패키지화 방법
- 13. -q PHP 커맨드 라인 옵션은 무엇을합니까?
- 14. OS X 커맨드 라인 URL 필터
- 15. 커맨드 라인 에어 앱을 실행할 수 있습니까?
- 16. 커맨드 라인 curl POST는 내용 길이가 0입니다.
- 17. 코코아 애플리케이션 (옵션의 커맨드 라인 모드)
- 18. PyDev 내에서 Python 커맨드 라인 인터프리터를 실행
- 19. 커맨드 라인 arguements로 전달 된 파일에서 읽기
- 20. Java : 잘못된 인수 예외
- 21. Java 메소드 인수 퍼즐
- 22. 커맨드 라인 셸에서 라틴 문자를 MySQL에 삽입하는 방법은 무엇입니까?
- 23. 커맨드 라인 PHP 스크립트를위한 XDebug 프로파일 러를 트리거하는 방법은 무엇입니까?
- 24. JMeter 커맨드 라인 - 리눅스 버전 대 윈도우 버전
- 25. 커맨드 라인 curl OSX를 업데이트했을 때 libcurl을 7.21.7로 업데이트하려면 어떻게합니까?
- 26. Python 커맨드 라인 인터페이스의 탭 완성 - Tab 이벤트를 잡는 방법
- 27. 커맨드 라인 (유닉스)에서 바이너리 더블 어레이를 출력하는 방법
- 28. svn 커맨드 라인 커밋 수 tortoisesvn 커밋 수
- 29. 커맨드 라인 옵션을 통해 다른 zshrc 파일을로드하는 방법은 무엇입니까?
- 30. mysql 커맨드 라인 쿼리 결과를 bash 스크립트 변수에 넣기
가능한 중복 (http://stackoverflow.com/ 질문/367706/how-to-parse-command-line-arguments-in-java) – xenteros