因此,我试图从一个数字为20的大数组和10个中的两个小数组进行制作,第二个数组必须打印出来。
public class Solution
{
public static void main(String[] args) throws Exception
{
int[] bMas = new int[20];
int[] lMas = new int[10];
int[] lMas2 = new int[10];
Scanner in = new Scanner(System.in);
for(int i = 0; i < bMas.length; i++)
{
bMas[i] = in.nextInt();
}
// 0 10
for(int i = 0; i < 10; i++)
{
lMas[10 - i] = bMas[10];
}
//10 20
for(int i = 10; i < bMas.length; i++)
{
lMas2[10 - i] = bMas[20];
//Here he must outprint hes vallue
System.out.println(lMas2[i]);
}
}
}
答案 0 :(得分:1)
我不知道你的问题是什么(主要是因为你没有问过)但我可以告诉你,你得到的是一个ArrayIndexOutOfBoundsException。
for(int i = 0; i < 10; i++)
{
lMas[10 - i] = bMas[10];
}
这个循环将第一次给你一个索引越界错误。数组lMas是10个单位大(索引0-9)所以当i = 0时,这将引用索引10,而不是存在。
即使写得正确,你也要将完全相同的bMas [10]值存储到lMas数组的每个插槽中。
你对lMas2数组执行完全相同的操作。
答案 1 :(得分:0)
您可以使用Arrays.copyOfRange
。
lMas[] = Arrays.copyOfRange(bMas, 0, 10);
lMas2[] = Arrays.copyOfRange(bMas, 10, 20);