Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用方法返回数组_Java_Arrays_Methods - Fatal编程技术网

在Java中使用方法返回数组

在Java中使用方法返回数组,java,arrays,methods,Java,Arrays,Methods,我有一个疑问。 我正在开发以下代码,这将是一个多应用程序表,用于手动引入的数字。我无法得到的是打印表格。我不知道发生了什么,因为据我所知,所有的代码都写对了 public class Tabla { public static void main (String[] args) { int n=4; Tabla table = new Tabla (); int dato []; dato=table.producto(n);

我有一个疑问。 我正在开发以下代码,这将是一个多应用程序表,用于手动引入的数字。我无法得到的是打印表格。我不知道发生了什么,因为据我所知,所有的代码都写对了

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;


}    

}
公共类Tabla
{
公共静态void main(字符串[]args)
{        
int n=4;
Tabla table=新Tabla();
国际数据[];
dato=表.产品(n);
对于(int j=1;j两个问题:

int a[]={'0'};

这一行创建了一个数组
a
,其中只有一个元素,而不是您试图填充的11个元素,而且,这一元素是字符
0
的ASCII码,这几乎肯定不是您想要的。

基于Wasserman的答案,您应该编写如下:

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;
}
public int[]producto(int num)
{
//制作一个10元素的数组
int a[]=新int[10];
//用产品填充阵列
对于(int i=0;i<10;i++)
a[i]=num*(i+1);
返回a;
}

您创建了一个单元素数组,而您希望填充一个10元素数组。

运行此代码时会发生什么?出现以下内容:运行:线程“main”java.lang.ArrayIndexOutOfBoundsException:1在tabla.tabla.producto(tabla.java:31)在tabla.tabla.main(tabla.java:17)java结果:1 GENERACIÓN CORRECTA(总时间:0秒)@MikePérez我修复了我的代码,所以它不会再抛出任何超出范围的异常。谢谢,我更改了整数变量,但什么都没有发生……知道为什么吗?@MikePérez看看我的答案。行得通吗?不,我不知道为什么,因为我不知道你更改了什么。发布你的更新代码。@LouisWasserman不是Mike Pérez maki正在生成10个元素的数组,而不是11个元素?@feralin:请重新读取
for
循环。这仍然会引发ArrayIndexOutOfBoundsException。@LouisWasserman噢,对不起!我的错误!我现在就修复它。谢谢各位朋友!一切正常!:D@MikeP埃雷斯然后接受一个答案。。。
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;
}