我正在编写这个程序而且我认为我已经写了所有内容,但它会弹出'.class'预期,我不明白为什么。请帮我。感谢。
import java.util.*;
public class JoinArrays
{
public static void main(String[] args)
{
int[] x = { 5, 4, 3, 2, 1};
int[] y = { 8, 7, 6};
int[] z;
int i;
System.out.println("Original arrays:");
display(x);
display(y);
z = joinArrays(x, y);
System.out.println("Result of join(x,y).");
display(z);
}
private static void display( int[] x )
{
int i;
System.out.print("Array: ");
for(i=0; i < x.length; i++)
{
if( i < x.length-1 )
System.out.printf("%3d, ", x[i]);
else
System.out.printf("%3d\n", x[i]);
}
}
public static int[] joinArrays(int[] x, int[] y)
{
int i;
return int x[i] + int y[i];
}
}
答案 0 :(得分:2)
问题是您的joinArrays
方法没有意义。
int x[i] + int y[i];
并不意味着表达完整。 x[i] + y[i]
语法有效...
变量i
未初始化,因此不允许x[i] + y[i]
。
即使允许x[i] + y[i]
,它实际上是添加两个整数...来给出一个整数。
基本上,你在这里咆哮错误的树。 Java没有用于连接或连接数组的运算符(或任何其他形式的语法)。您需要创建一个足够大的新数组来保存x
和y
的元素,并将x
和y
的元素复制到新数组中;请参阅@ dicarlo2的答案以获取示例。
我可以建议您更好地阅读有关Java的教程或教科书,而不是通过猜测语法应该是什么来学习Java ...
答案 1 :(得分:1)
public static int[] joinArrays(int[] x, int[] y) {
int[] arr = new int[x.length + y.length];
System.arraycopy(x, 0, arr, 0, x.length);
System.arraycopy(y, 0, arr, x.length, y.length);
return arr;
}
是你想要的。请参阅@ StephenC的答案,了解您的实施无效的原因。
答案 2 :(得分:0)
试试这个:
package **YOUR PACKAGE NAME**;
import java.util.*;
public class **YOUR CLASS NAME** { public static void main(String[] args)
{
int[] x = { 5, 4, 3, 2, 1};
int[] y = { 8, 7, 6};
int[] z;
System.out.println("Original arrays:");
display(x);
display(y);
z = joinArrays(x, y);
System.out.println("Result of join(x,y).");
display(z);
}
private static void display( int[] x )
{
System.out.print("Array: ");
for(int i=0; i < x.length; i++)
{
if( i < x.length-1 )
System.out.printf("%3d, ", x[i]);
else
System.out.printf("%3d\n", x[i]);
}
}
public static int[] joinArrays(int[] x, int[] y)
{
int [] combination;
if(x.length < y.length)
combination = new int[x.length];
else
combination = new int[y.length];
for(int i = 0; i < x.length && i < y.length; i++)
combination[i] = x[i] + y[i];
return combination;
}
}
答案 3 :(得分:0)
按照建议ArrayUtils.addAll()查看来自Apache Commons的in here。