Java 使用气泡排序对数组排序,错误-必需:变量,找到:值
我正在尝试使用泡泡排序对数组进行排序,但它不起作用。它说“必需:变量,找到:值” Array.java:143:错误:意外类型Java 使用气泡排序对数组排序,错误-必需:变量,找到:值,java,arrays,sorting,bubble-sort,Java,Arrays,Sorting,Bubble Sort,我正在尝试使用泡泡排序对数组进行排序,但它不起作用。它说“必需:变量,找到:值” Array.java:143:错误:意外类型 临时获取(d)=临时获取(d+1); ^ 必需:变量 找到:值 Array.java:144:错误:意外类型 临时获取(d+1)=交换 ^ 必需:变量 发现:价值 给出了Main函数,我需要做的就是编写这个冒泡排序函数 这是我写的 public static void bubbleSort(Array<Integer> lista){ boole
临时获取(d)=临时获取(d+1);
^
必需:变量
找到:值
Array.java:144:错误:意外类型
临时获取(d+1)=交换
^
必需:变量
发现:价值
给出了Main函数,我需要做的就是编写这个冒泡排序函数
这是我写的
public static void bubbleSort(Array<Integer> lista){
boolean swapped;
Array<Integer> temp;
int n;
n= temp.size;
int swap;
for (int c = 0; c < ( n - 1 ); c++) {
for (int d = 0; d < n - c - 1; d++) {
if (temp.get(d) > temp.get(d+1))
{
swap = temp.get(d);
temp.get(d) = temp.get(d+1);
temp.get(d+1) = swap;
}
}
}
}
publicstaticvoidbubblesort(数组lista){
布尔交换;
阵列温度;
int n;
n=温度尺寸;
国际互换;
对于(int c=0;c<(n-1);c++){
对于(int d=0;d温度获取(d+1))
{
交换=临时获取(d);
临时获取(d)=临时获取(d+1);
临时获取(d+1)=交换;
}
}
}
}
这是给出的主要数据
public static void main(String[] args) throws IOException{
BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in));
String s = stdin.readLine();
int N = Integer.parseInt(s);
Array<Integer> niza =new Array<Integer>(N);
bubbleSort(niza);
for(int i=0;i<N;i++){
s = stdin.readLine();
niza.set(i, Integer.parseInt(s));
}
System.out.println(brojDoProsek(niza));
}
publicstaticvoidmain(字符串[]args)引发IOException{
BufferedReader stdin=新的BufferedReader(新的InputStreamReader(System.in));
字符串s=stdin.readLine();
int N=整数.parseInt(s);
阵列niza=新阵列(N);
泡泡糖(niza);
对于(int i=0;i假设数组实际上是ArrayList,并且假设您希望在索引d
中存储索引d+1
处的值,则需要
temp.set(d, temp.get(d + 1));
temp.get(d)
不是一个可以赋值的变量。它是一个返回值的表达式。您不能为值赋值。正如其他用户所说,您必须使用set()
方法更改存储在数组索引中的值
我认为您打算使用ArrayList。如果是这样,那么您应该使用n=temp.size()
而不是n=temp.size
来获取列表的长度,因为size
是ArrayList类中的一个方法。您不能分配给函数。您正在查找set()
。现在n=temp.size出现了一个问题;它说Array.java:134:error:variable temp可能没有初始化n=temp.size;这是一件好事,您会遇到这个错误:您确实没有初始化temp。请执行此操作。