gpt4 book ai didi

Java: '.class' 将数组传递给函数时出现预期错误

转载 作者:行者123 更新时间:2023-12-03 08:43:30 25 4
gpt4 key购买 nike

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




我正在学习 Java 类(class),但已经离开它一段时间了。

试图让这个排序程序工作:

import java.util.*;
public class Assignment1
{
private int[] nums;
private int[] ast;

private int n;

public void sort(int[] vals)
{
this.nums = vals;
n = vals.length;
this.ast = new int[n];
merges(0, n - 1);
}

private void merges(int bot, int top)
{
if (bot < top)
{
int mid = bot + (top - bot) / 2;
merges(bot, mid);
merges(mid + 1, top);
merge(bot, mid, top);
}
}

private void merge(int bot, int mid, int top)
{
for (int i = bot; i <= top; i++)
{
ast[i] = nums[i];
}
int i = bot;
int j = mid + 1;
int k = bot;
while (i <= mid && i <= top)
{
if (ast[i] <= ast[j])
{
nums[k] = ast[i];
i++;
}
else
{
nums[k] = ast[j];
j++;
}
k++;
}
while (i <= mid)
{
nums[k] = ast[i];
k++;
i++;
}
}

private void show()
{
System.out.print("Sorted Array: ");
for(int l=0;l<nums.length;l++)
{
System.out.print(nums[l] + " ");
}

}
public static void main(String[] args)
{
Assignment1 a = new Assignment1();
Scanner scan = new Scanner(System.in);
System.out.print("\nArray Size: ");
int s = scan.nextInt();
int[] array = new int[s];
for(int x=0;x<s;x++)
{
System.out.print("Enter Element " + (x + 1) + ":");
array[x] = scan.nextInt();
}


a.sort(array[]);
a.show();
}
}

我得到的错误是这样的:
Assignment1.java:82: error: '.class' expected
a.sort(array[]);

我知道这是我无法理解的基本知识,但基本知识是最模糊的东西......

最佳答案

我相信编译器认为您正试图将类类型传入 sort因为你添加了 []在您调用 sort 的数组之后这就是您声明数组类型的方式。

只是改变

a.sort(array[]) 


 a.sort(array)

因为你已经初始化了 array作为 int[]在您的方法中较早地键入/数组。

您只需要添加 []在初始化过程中。之后,数组的变量名就像任何其他变量的变量名一样被引用。

关于Java: '.class' 将数组传递给函数时出现预期错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21947455/

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