1 class Solution { 2 3 void sortIntegers(int[] A) { 4 int n; 5 for(int a = 0; a<A.length-2; a++) 6 { 7 int b; 8 for(b = a ; b<A.length-2; b++) 9 { 10 if(A[b]>A[b+1]) 11 n=b+1; 12 13 } 14 System.out.print(A[n]); 15 } 16 } 17 } 18 19 public class Sort 20 { 21 public static void main (String[] arg) 22 { 23 Solution S = new Solution(); 24 int[]A = {3,2,1,4,5}; 25 S.Solution(A); 26 System.out.print(S); 27 } 28 }
S.Solution(A);是什么鬼?
你这段代码编译都不会通过的
就是不知道怎么把这个数组赋给Solution,能解答一下吗?
class Solution {
void sortIntegers(int[] A) {
int n;
for(int a = 0; a<A.length-2; a++)
{
int b;
for(b = a ; b<A.length-2; b++)
{
if(A[b]>A[b+1])
n=b+1;
}
System.out.print(A[n]);
}
}
}
int n 没有初始值; 因为在编译阶段就能确定, 如果不符合if条件, System.out.print(A[n]);就会异常
@鱼尾巴:
Solution对象里面没有Solution方法吧, 你应该是s.sortIntegers(A)吧?
@、熙和: 函数名都写错了。。。
@、熙和:
int[]A = {3,2,1,4,5};
Solution S = new Solution(A);
这样也不行啊,为什么呢?
sort.java:24: 错误: 无法将类 Solution中的构造器 Solution应用到给定类型;
Solution S = new Solution(A);
^
需要: 没有参数
找到: int[]
原因: 实际参数列表和形式参数列表长度不同
@鱼尾巴: ....... Solution S = new Solution(A); 你又没有带参的构造, 还是好好看看书吧
。类名是solution,sortintegers才是你定义的函数