';。类别';应为Java语言
我用Java运行代码时出错 我的代码:';。类别';应为Java语言,java,sorting,compiler-errors,Java,Sorting,Compiler Errors,我用Java运行代码时出错 我的代码: interface myFunc{ int func(int n[]); } class bubbleSort{ int bubble(int n[]){ int result[]; for(int j=0;j<n.length;j++){ for(int i=j+1;i<n.length;i++){ if(n[i] < n[j]){ int t =
interface myFunc{
int func(int n[]);
}
class bubbleSort{
int bubble(int n[]){
int result[];
for(int j=0;j<n.length;j++){
for(int i=j+1;i<n.length;i++){
if(n[i] < n[j]){
int t = n[j];
n[j] = n[i];
n[i] = t;
result = t;
}
}
return result;
}
}
}
class test{
public static int lista(myFunc mf, int n){
return mf.func(n[]);
}
public static void main(String[] args) {
int intInt[] = {3,2,5,4,1};
int intOut;
bubbleSort sort = new bubbleSort();
intOut = lista(sort::bubble, intInt[]);
System.out.println(intOut);
}
}
有人能帮我解决这个问题并解释一下吗?不知道你想要什么,但至少这是一个编译。 返回数组的最大值,如果数组为空/null,则返回-1 不确定您是在查找此数组还是已排序的数组 正如Slaw所说,大多数问题是语法以及int[]和int之间的不匹配
interface myFunc{
int func(int n[]);
}
class bubbleSort {
int bubble(int n[]){
// int result = 0;
if(n == null || n.length == 0){
return -1;
}
for(int j=0;j<n.length;j++){
for(int i=j+1;i<n.length;i++){
if(n[i] > n[j]){
int t = n[j];
n[j] = n[i];
n[i] = t;
// result = t; // You dont need this... i think...
}
}
}
return n[0];
}
}
class test {
public static int lista(myFunc mf, int[] n){
return mf.func(n);
}
public static void main(String[] args) {
int intInt[] = {4,3,1,20,3,6,10};
int intOut;
bubbleSort sort = new bubbleSort();
intOut = lista(sort::bubble, intInt);
System.out.println(intOut);
}
}
接口myFunc{
int func(int n[]);
}
泡泡糖类{
整数气泡(整数n[]{
//int结果=0;
如果(n==null | | n.length==0){
返回-1;
}
for(int j=0;j不确定您想要什么,但至少这个是编译的。
返回数组的最大值,如果数组为空/null,则返回-1
不确定您是在查找此数组还是已排序的数组
正如Slaw所说,大多数问题是语法以及int[]和int之间的不匹配
interface myFunc{
int func(int n[]);
}
class bubbleSort {
int bubble(int n[]){
// int result = 0;
if(n == null || n.length == 0){
return -1;
}
for(int j=0;j<n.length;j++){
for(int i=j+1;i<n.length;i++){
if(n[i] > n[j]){
int t = n[j];
n[j] = n[i];
n[i] = t;
// result = t; // You dont need this... i think...
}
}
}
return n[0];
}
}
class test {
public static int lista(myFunc mf, int[] n){
return mf.func(n);
}
public static void main(String[] args) {
int intInt[] = {4,3,1,20,3,6,10};
int intOut;
bubbleSort sort = new bubbleSort();
intOut = lista(sort::bubble, intInt);
System.out.println(intOut);
}
}
接口myFunc{
int func(int n[]);
}
泡泡糖类{
整数气泡(整数n[]{
//int结果=0;
如果(n==null | | n.length==0){
返回-1;
}
对于(int j=0;jIt仍然不起作用,您能给我看一下固定的代码吗?我有一个相同的错误建议,就是更新您对数组的知识,包括它们的语法和使用方法。当您使用int name[]
时,您刚刚声明了一个基本整数数组;但是,请注意,在Java中,最好将[]放在
在类型而不是变量名上:int[]name
。将数组用作方法调用的参数时,不应包含[]
。此外,我在以前提供的修复程序(现在已删除)评论集中在您特别提到的编译错误上,但您显然还有其他问题,特别是类型不匹配错误。至少有一些问题:(1)您调用lista(bubble::sort,intInt[])
这是不正确的语法,只需使用intInt
;(2)您在mf.func(n)上也有同样的问题[])
;(3)lista
的第二个参数当前是int
,尽管我怀疑它应该是int[]
;(4)bubble
方法声明为返回int
,但您尝试返回int[]
。它仍然不起作用,你能给我看一下固定的代码吗?我有一个相同的建议,就是刷新你对数组的知识,包括它们的语法和使用方法。当你使用int name[]
时,你刚刚声明了一个基本的整数数组;但是,请注意,在Java中最好放置[]
在类型而不是变量名上:int[]name
。将数组用作方法调用的参数时,不应包含[]
。此外,我在以前提供的修复程序(现在已删除)评论集中在您特别提到的编译错误上,但您显然还有其他问题,特别是类型不匹配错误。至少有一些问题:(1)您调用lista(bubble::sort,intInt[])
这是不正确的语法,只需使用intInt
;(2)您在mf.func(n)上也有同样的问题[])
;(3)lista
的第二个参数当前是int
,尽管我怀疑它应该是int[]
;(4)bubble
方法声明为返回int
,但您尝试返回int[]
。