2012-04-28 3 views
1

Java 프로그램이 실행될 때 명령 줄에서 String 형식의 매개 변수 만 가져 오는 이유는 무엇입니까? read 매개 변수가 int로 선언 된 경우 int를 String으로 변환합니다. 왜 이런 일이 생길까요? 그리고 java 프로그램을 실행할 때 명령 줄에서 int 값만 받아들이는 방법이 있습니까?자바에서 입력 매개 변수

+1

귀하가 제공 한 링크가 귀하의 질문에 대한 답변 인 것으로 보입니다 –

+0

스캐너의 nextInt() –

+0

전혀 읽지 않았습니다. 귀하의 링크에 Jon Skeet'e 코멘트를보십시오. – EJP

답변

2

문자열은 모든 값을 가질 수 있기 때문에 더 융통성이 있으며 정수로 대표 될 수도 있습니다. 명령 줄에 int를 전달하려면 문자열을 int로 직접 변환 할 수 있습니다.

int val = Integer.parseInt(arg[0]); 

메인있어서 유효한 서명은 다른 인수 구조가 주된 기능으로 간주되지 않는다

public static void main(String[] args) 

이다.

1

매개 변수가 int로 선언되면 int를 String으로 변환한다는 것을 읽었습니다.

잘못 읽었습니다. main() 메서드가 다른 String[] args을 사용하면 JVM에서 유효한 진입 점으로 인식하지 않습니다.

정수 인수를 사용하려는 경우 기본 방법은 여전히 ​​String[] args을 받아 들여야하며 사용자가 직접 변환해야합니다.

0

키보드에 "정수"가 없기 때문에 명령 줄에서 문자를 전달합니다. 따라서이 char 배열 (String으로 래핑 됨)을 정수로 변환해야합니다.

관련 문제