gpt4 book ai didi

java - 数组和方法的问题

转载 作者:行者123 更新时间:2023-12-01 13:06:59 25 4
gpt4 key购买 nike

所以我试图用这个程序做的是获取两个数组,然后将它们合并到第三个数组中。 main方法从指定文件中获取数据,然后为每一行创建数组,并且只有两行。文件的格式如下:

11 -5 -4 -3 -2 -1 6 7 8 9 10 11
8 -33 -22 -11 44 55 66 77 88

创建数组后,我尝试调用我创建的合并方法,但我从 Netbeans 收到此错误:

预期为“.class”

意外类型

必填:值

发现:类

我真的不知道这意味着什么,Netbeans 尝试通过创建其他类来修复它。我的所有代码如下:

import java.io.*;
import java.util.*;

public class ArrayMerge
{

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
File inputDataFile = new File(args[0]);
try
{
Scanner inputFile = new Scanner(inputDataFile);
Scanner keyboardin = new Scanner(System.in);
int aSize = inputFile.nextInt();
int a[] = new int[aSize];
for (int i= 0 ; i<aSize; i++ )
{
a[i] = inputFile.nextInt();
}
int bSize = inputFile.nextInt();
int b[] = new int[bSize];
for (int j = 0; j < bSize; j++)
{
b[j] = inputFile.nextInt();
}
int c[] = ArrayMerge.merge(a, b);
System.out.println(Arrays.toString(c));




}
catch(FileNotFoundException e)
{
System.err.println("FileNotFoundException: " + e.getMessage());
}



}

public static int[] merge(int[] a, int[] b)
{
// merge 2 sorted arrays

int[] c = new int[a.length + b.length];
int i=0, j=0, k=0;

while (i<a.length && j<b.length) {
c[k++] = (a[i]<b[j]? a[i++]: b[j++]);
} // end while

while (j<b.length) {
c[k++] = b[j++];
} // end while

while (i<a.length) {
c[k++] = a[i++];
} // end while

return c;
} // end merge()

}

更新:我解决了我自己的问题。我忘记了数组不是通过名称和括号来调用的,而只是通过变量名称来调用。意识到这一点后,我发现必须将出现错误的行移至 Try{} block 中。我更新了上面的代码以反射(reflect)这些更改。

最佳答案

您的 merge() 方法在类的外部声明。

将类的右大括号从 merge() 方法的上方移动到它的下方

关于java - 数组和方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23189282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com