
在这个java程序中showArray(array)是什么意思
mportjava.lang.reflect.Array;publicclassBubbleSort{publicstaticvoidmain(String[]args)...
mport java.lang.reflect.Array;
public class BubbleSort {
public static void main(String[]args){
int[]array={5,4,34,2,7,45};
BubbleSort sorter=new BubbleSort();
sorter.sort(array);
}
public void sort(int[]array){
for(int i=1;i<array.length;i++){
for(int j=0;j<array.length-i;j++){
if(array[j]<array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
showArray(array);
}
public void showArray(int[]array){
for(int i:array){
System.out.println(">"+i);
}
System.out.println();
}
}
还有sorter.sort(array);为什么不能写成Array,sort(array)呢? 展开
public class BubbleSort {
public static void main(String[]args){
int[]array={5,4,34,2,7,45};
BubbleSort sorter=new BubbleSort();
sorter.sort(array);
}
public void sort(int[]array){
for(int i=1;i<array.length;i++){
for(int j=0;j<array.length-i;j++){
if(array[j]<array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
showArray(array);
}
public void showArray(int[]array){
for(int i:array){
System.out.println(">"+i);
}
System.out.println();
}
}
还有sorter.sort(array);为什么不能写成Array,sort(array)呢? 展开
3个回答
展开全部
整个代码的功能就是对数组进行排序然后输出数组中的元素。
showArray(array)这一句是调用了public void showArray(int[]array)这个函数,输出排序后的数组中的元素。
Array,sort(array)中的Array少写了一个s吧。sorter.sort(array)中的sorter是这段代码中定义的BubbleSort类的一个实例,而Arrays是Java自带的类,如果你写成Arrays.sort(array);调用的是Java提供的数组元素排序函数,无法实现这段代码要实现的排序方式。sorter.sort(array);调用的是这段代码自己实现的排序方式。函数不是有就可以用,要看这个函数的功能是不是你要实现的功能。
showArray(array)这一句是调用了public void showArray(int[]array)这个函数,输出排序后的数组中的元素。
Array,sort(array)中的Array少写了一个s吧。sorter.sort(array)中的sorter是这段代码中定义的BubbleSort类的一个实例,而Arrays是Java自带的类,如果你写成Arrays.sort(array);调用的是Java提供的数组元素排序函数,无法实现这段代码要实现的排序方式。sorter.sort(array);调用的是这段代码自己实现的排序方式。函数不是有就可以用,要看这个函数的功能是不是你要实现的功能。
更多追问追答
追问
那也就是说他把sort这个方法重写了一下?
追答
不是,重写是对于继承来说的。子类中的方法和父类中的方法有相同的名字和参数,就被叫做子类的方法重写了父类中的方法。
你的代码中的两个sort是不同的两个类的方法,他们只是名字相同,没有任何关系。Java语言调用方法必须通过类名或者类的实例去调用,通过类名来识别你使用的是哪个方法,所以这两个sort是不会冲突的。
展开全部
这个不是你写的吧。。。showArray是输出数组的。最后一个问题,如果一个方法用static修饰,那么这个方法是静态的,不需要创建对象就可以调用,即Array.sort。如果不是静态的(没有static修饰),就必须用对象调用,即sorter.sort,这里的sorter是一个对象。
更多追问追答
追问
那为什么还要写public void sort(int[]array){这样的方法呢?sort不是用来分来的吗,为什么还可以用作方法名,不会发生冲突吗?
追答
用来分来是什么
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打印数组元素的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询