2014-01-16 4 views
0

이 내가 프로그램을 실행하려고 할 때마다 보여주는 계속 오류 나는arrayexexoutofboundsexception 오류를 어떻게 수정합니까?

public class NameTag 
{ 
    public static void main (String[] args) 
    { 
     System.out.println(); 
     System.out.println (" " + args[0]); 
     System.out.println ("My name is " + args[1]); 
     System.out.println(); 
    } 
} 

이 취급하고있는 코드입니다 java.lang.ArrayIndexOutOfBoundsException : NameTag.main에서 0 (NameTag.java:6)

것은 내가 BlueJ의 버전 3.1.0 * 내가 어떻게이 오류를 수정하는 방법 아무 생각을 사용하고, 나는 많은 다른 것들을 시도했지만 아무것도 법과 없다 왕. 도와주세요. *

+3

기본 방법을 실행할 때 몇 가지 인수 (코드에 2 이상)를 전달해야합니다. –

+0

당신은'args' 배열의 목적이 무엇인지 알고 있으며 프로그램을 실행할 때 그것을 채우기 위해 무엇을해야 하는가? – Philipp

+0

명령 줄에서 적어도 두 개의 인수를 사용하여 프로그램을 실행해야합니다. 저는 BlueJ에 익숙하지 않아 프로그램을 실행하고 인수를 전달하는 방법을 모르겠습니다. – ajb

답변

2

즉, 실행시 프로그램에 인수를 전달하지 않았습니다. 따라서 args[0]args[1]에 액세스하면 ArrayIndexOutOfBoundsException이됩니다. http://www.bluej.org/help/archive.html#tip9은 BlueJ에 명령 줄 인수를 전달하는 방법을 설명합니다. 당신에게 링크를 다음의 문제를 저장하려면, 메인에 다음 매개 변수를 전달 :

{ "foo", "bar" } 

args[1]의 문자열 args[0]에서 "foo는"과 "바"를 가지고. 또한 인수가 실제로 전달되었는지 확인하기 위해 배열을 수행하기 전에 args 배열의 길이를 확인하는 것이 좋습니다.

0

blueJ에서 실행하면 입력을 올바른 방식으로 입력하고 비어 있지 않은지 확인하십시오. 입력을 받아 args [0]와 args [1]을 입력으로부터 평가할 것입니다. 인수를 찾을 수 없으면 예외가 throw됩니다.

1

다른 조작을 수행하기 전에 어레이의 길이를 확인하십시오.

public static void main (String[] args) 
{ 
    if(args.length > 1) { 
     System.out.println(); 
     System.out.println (" " + args[0]); 
     System.out.println ("My name is " + args[1]); 
     System.out.println(); 
    } 
} 
관련 문제