黑马程序员技术交流社区
标题:
关于重载函数,有个题不理解
[打印本页]
作者:
庄生晓梦
时间:
2013-4-11 17:00
标题:
关于重载函数,有个题不理解
本帖最后由 庄生晓梦 于 2013-4-12 09:57 编辑
class StringTest1
{
public static void main(String[] args)
{
String s = " ab cd ";
sop("<" + s +">");
sop("<"+reverseString(s,7,8)+">");
}
public static void sop(String str)
{
System.out.println(str);
}
public static String reverseString(String str,int start,int end)
{
char[] chs = str.toCharArray();
reverse(chs,start,end);
return new String(chs);
}
public static String reverseString(String str)
{
char[] chs = str.toCharArray();
reverse(chs);
return new String(chs);
}
public static void reverse(char[] arr,int x,int y)
{
for(int start=x,end=y-1; start<end; start++,end--)
{
swap(arr, start, end);
}
}
public static void swap(char[] arr,int x,int y)
{
char temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
这里reserverString()方法重载,为什么在调用其中一个时,会发生
捕获.JPG
(24.6 KB, 下载次数: 6)
下载附件
2013-4-11 16:57 上传
重载函数的使用在这需要注意什么????
作者:
潘廖明
时间:
2013-4-11 17:37
一、在这里首先给你点建议:
(1)这代码格式不按发帖的要求,别人帮你解决问题用你的代码多不方便。
(2)代码从头到尾,连个方法的注释都没有,你不说明下你的方法,别说我们过两天
你自己来看都要费劲。
(3)你提的问题都是有错误的,标题是不是漏了一个字。
二、重载总结
一句话“两同一不同”:在同一个类中、方法名相同,参数列表不同:包括参数类型不同、
参数个数不同。与方法返回值类型、权限修饰符无关。
三、本题问题
你这是函数调用的问题,跟重载无关。
你看:
public static String reverseString(String str)
{
char[] chs = str.toCharArray();
//错误根源
reverse(chs);//你的类里面出现过这样的形式的参数列表?
return new String(chs);
}
复制代码
作者:
赵晓东
时间:
2013-4-11 18:00
楼上+1,格式真心要好好搞。
其实,看错误提示就可以看出来了,第23行的reverse(chs);你只传递了一个形式参数,错误提示说:需要char[],int,int 但你只给提供了一个:char[]
而且你定义的方法中又没有定义reverse(char[] name)这样的方法,所以报错了
作者:
庄生晓梦
时间:
2013-4-12 09:53
多谢提醒,我以后会写格式和注释问题的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2