黑马程序员技术交流社区
标题:
静态应用工具类
[打印本页]
作者:
选择黑马
时间:
2012-6-17 14:33
标题:
静态应用工具类
麻烦大家帮我看下以下这段代码在dos命令编译的时候所报的错误是这样的:无法将YingYong1中的paixu<int[],int,int>应用于<int[]> p.paixu(arr);这表示什么意思,谢谢!
class YingYong1{
public void paixuqian(int[] arr)
{
for(int x = 0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
paixu(arr,x,y);
}
}
}
}
public void paixuhou(int[] arr)
{
for(int y=0;y<arr.length-1;y++)
{
if(arr[y]>arr[y+1])
{
paixu(arr,y,y+1);
}
}
}
public void paixu(int[] arr,int a,int b)
{
int tmp = arr[a];
arr[a]=arr[b];
arr[b]= tmp;
}
public static void getDaying(int[] arr)
{
System.out.print("[");
for(int x = 0;x<arr.length;x++)
{
if(x!=arr.length-1)
{
System.out.print(arr[x]+", ");
}else
System.out.println("]");
}
}
}
}
作者:
选择黑马
时间:
2012-6-17 14:36
class YingYong2
{
public static void main(String[] args)
{
int[] arr = {2,3,4,5,6,7,9};
YingYong1 p = new YingYong1();
p.paixuqian(arr);
p.paixu(arr);
p.paixuhou(arr);
}
}
作者:
吴小东
时间:
2012-6-17 14:41
你的问题在这里 p.paixu(arr);
你的方法public void paixu(int[] arr,int a,int b)是3个参数 而实际上你只传了一个数组
作者:
车风波
时间:
2012-6-17 14:44
因为p.paixu(arr);是一个参数啊 paixu(int[] arr,int a,int b)需要三个参数
作者:
梁清平
时间:
2012-6-17 14:45
运行了没有问题啊。。。
作者:
选择黑马
时间:
2012-6-17 14:48
哦,是的,我都晕了,谢谢哥们啊。
作者:
张頔
时间:
2012-6-17 14:49
第一
你的class YingYong1 最后多了了一个“}”
第二
class YingYong2
{
public static void main(String[] args)
{
int[] arr = {2,3,4,5,6,7,9};
YingYong1 p = new YingYong1();
p.paixuqian(arr);
p.paixu(arr);//你的YingYong中paixu()方法还有两个参数 public void paixu(int[] arr,int a,int b)
p.paixuhou(arr);
}
}
作者:
吴小东
时间:
2012-6-17 14:59
本帖最后由 吴小东 于 2012-6-17 15:03 编辑
感觉你的思路有点乱啊,
p.paixuqian(arr); ---->那么这里就方法就应该是打印排序前的数组元素
p.paixu(); ---->这里调用方法实现在数组的排序
p.paixuhou(arr);---->这里应该是打印排序后的数组元素
然而你的paixuqian() 方法也在对数组进行排序
下面是我写的代码,为什么编辑没格式。。。
作者:
吴小东
时间:
2012-6-17 15:04
class ArrayTool //implements ImArrayTool
{
public static void main(String[] args)
{
int[] arr = new int[]{2,4,1,3,5};
showArray(arr);
sortArray(arr);
showArray(arr);
}
//对整型数组中的元素进行显示
public static void showArray(int [] arr)
{
System.out.print("数组中个元素为:[ ");
for (int i=0 ; i<arr.length ; i++ )
{
if (i==arr.length-1)
{
System.out.print(arr[i]+"]");
}else
{
System.out.print(arr[i]+",");
}
}
}
//对数组进行排序 冒泡排序 或者 选择排序
public static void sortArray(int[] arr)
{
int temp;
for (int i=0 ; i<arr.length-1 ; i++ )
{
for (int j=0 ; j<arr.length-i-1 ; j++ )
{
if (arr[j]<arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}
复制代码
作者:
选择黑马
时间:
2012-6-17 16:37
谢谢哥们我的问题解决了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2