我有一个代码,其中,要定义一个数组,其中大小基于用户输入。我该怎么做?
我的代码如下:
public static void main(String args[]) throws Exception {
Scanner in = new Scanner(System.in);
System.out.println("Enter the number of layers in the network:");
int Nb_Layers = in.nextInt();
int[] Hidden_layer_len = new int[Nb_Layers];
for (int i = 0; i < Nb_Layers-1; i++)
{
System.out.println("Enter the length of layer" +(i+1)+":");
Hidden_layer_len[i] = in.nextInt();
if(i == 0)
{
double [][] E = new double[Hidden_layer_len[i]][1];//This is the array I need based on the size mentioned.
}
}
System.out.println(E);
}
我希望这是一个2D数组。任何建议,将不胜感激。谢谢!
答案 0 :(得分:1)
您可以在for循环外定义数组并在其中分配。 E.g。
double[][] E = null;
for (int i = 0; i < Nb_Layers - 1; i++) {
System.out.println("Enter the length of layer" + (i + 1) + ":");
Hidden_layer_len[i] = in.nextInt();
if (i == 0) {
E = new double[Hidden_layer_len[i]][1];
}
}
这种方式在最后打印时可用 顺便说一句,你可能想要像这样打印它
System.out.println(Arrays.deepToString(E));