2013-03-27 2 views
-1

의심의 여지가 있습니다. 수동으로 소개하는 숫자에 대한 다중 선 테이블이 될 다음 코드를 개발 중입니다. 내가 얻을 수없는 것은 테이블을 인쇄하는 것입니다. 내가 아는 한 모든 코드가 올바르게 작성 되었기 때문에 무슨 일이 일어나고 있는지 모르겠습니다.Java에서 메서드를 사용하여 배열을 반환하십시오.

public class Tabla 
{ 

public static void main (String[] args) 
{   
    int n=4;  

    Tabla table = new Tabla(); 
    int dato []; 
    dato=table.producto(n);   

    for (int j=1;j<=10;j++) 
    {System.out.println(dato[j]);} 

} 



public int [] producto(int num) 
{ 
    int a[]={'0'}; 

    for (int i=1;i<=10;i++) 
    {a[i]=num*i;} 

    return a; 


}  

} 

어떤 아이디어 ??

미리 감사드립니다. 마법처럼

public class Tabla 
{ 

    public static void main (String[] args) 
    {   
     int n=4;  
     int j; 

     Tabla table = new Tabla(); 
     int dato[]=new int [10]; 
     dato=table.producto(n);   

     for (j=0;j<10;j++) 
     {System.out.println(dato[j]); 
     } 

    } 



    public int [] producto(int num) 
    { 
     // make a 10-element array 
     int a[] = new int[10]; 

     // fill up the array with products 
     for (int i = 0; i < 10; i++) 
     {a[i] = num * (i+1); } 

     return a;    

    }  
} 

작품 :

** 나는에 코드를 변경! 이제 왜 컴파일러에서 "ArrayIndexOutOfBoundsException"을 던 졌는지 궁금합니다. for (int i = 1; i <=10; i++)

감사합니다. 도움에 감사드립니다! : D

+1

이 코드를 실행하면 어떻게됩니까? –

+0

다음이 나타납니다 : 실행 : 스레드 "주요"java.lang.ArrayIndexOutOfBoundsException의 예외 : 1 tabla.Tabla.producto에서 \t (Tabla.java:31) tabla.Tabla.main (Tabla.java에서 \t : 17) Java 결과 : 1 GENERACIÓN CORRECTA (총 시간 : 0 초) –

+0

@ MikePrerez 코드를 수정 했으므로 더 이상 범위를 벗어나는 예외를 throw해서는 안됩니다. – feralin

답변

5

는 Wasserman의 대답 떨어져 구축, 당신이 작성해야하는 것입니다 : 당신이 채우기 위해 10 요소의 배열을 원하는 반면

public int[] producto(int num) 
{ 
    // make a 10-element array 
    int a[] = new int[10]; 

    // fill up the array with products 
    for (int i = 0; i < 10; i++) 
     a[i] = num * (i + 1); 

    return a; 
} 

당신은, 단일 요소 배열을 만들었습니다.

+0

여전히 ArrayIndexOutOfBoundsException이 발생합니다. –

+1

루프를 0에서 <10 –

+0

@ 루이스 와서 만 오, 미안 해요! 내 실수! 내가 지금 고칠거야. – feralin

3

두 가지 문제 :

int a[]={'0'}; 

이 줄은 하나 개의 요소와 배열 a을 생성 -하지 (11)이 채우기 위해 노력하고 - 하나 개의 요소에 대한 ASCII 코드입니다, 또한 및 문자 0, 거의 확실하게 원하는 것은 아닙니다. 다음과 같이

+0

고마워, 정수 변수를 변경했지만 아무 일도 일어나지 않는다. 왜 그런가? –

+0

@ MikePrez가 내 대답을 살펴 봅니다. 그게 효과가 있니? – feralin

+0

아니요, 나는 당신이 무엇을 바꿨는지 알지 못하기 때문에 그 이유를 모릅니다. 업데이트 된 코드를 게시하십시오. –

관련 문제