合并2组数组的Java编译错误
有人能帮我做作业吗?由于某些原因,Java无法识别我的输入 重复以下错误:合并2组数组的Java编译错误,java,merge,Java,Merge,有人能帮我做作业吗?由于某些原因,Java无法识别我的输入 重复以下错误: Merge.java:25: cannot find symbol symbol : class Scanner location: class Merge Scanner a = new Scanner( System.in ); ^ 公共类合并{ 公共静态void main(字符串[]args){ int[]a={1,1,4,5,7}; int[]b={2,4,6,8}; int
Merge.java:25: cannot find symbol
symbol : class Scanner
location: class Merge
Scanner a = new Scanner( System.in );
^
公共类合并{
公共静态void main(字符串[]args){
int[]a={1,1,4,5,7};
int[]b={2,4,6,8};
int[]mergedArray=merge(a,b);
for(int i=0;i
我测试了您的代码,下面是我修复代码的方法
Import java.util.Scanner导入扫描仪库代码>在最顶端
length()
更改为length
返回mergedArray
在合并(int[]a,int[]b)
方法的末尾祝你好运。看起来你缺少扫描仪的导入:java.util.ScannerAlso,数组上没有
length()
方法,它只是length
。请包含正确的源代码。您的示例代码甚至不使用Scanner。
public class Merge {
public static void main(String[] args) {
int[] a = { 1, 1, 4, 5, 7 };
int[] b = { 2, 4, 6, 8 };
int[] mergedArray = merge(a, b);
for (int i = 0; i < mergedArray.length; i++) {
System.out.print(mergedArray[i] + " ");
}
}
public static int[] merge(int[] a, int[] b) {
// WRITE CODE HERE
int[] mergedArray = new int[a.length() + b.length()];
int i = 0;
int j = 0;
int k = 0;
while (i < a.length() && j < b.length()) {
if (a[i] < b[j]) {
mergedArray[k] = a[i];
i++;
}
else {
mergedArray[k] = b[j];
j++;
}
k++;
}
while (i < a.length()) {
mergedArray[k] = a[i];
i++;
k++;
}
while (j < b.length()) {
mergedArray[k] = b[j];
j++;
}
}
}