题目是这样子的:
将对应的数字字符(如’1’、’4’等)转换为对应数字(如1、4)的方法,如果不能转换,则返回-1。测试数据:’5’、’a’、’-‘。
但是有个人定义方法的时候;
public int changechar(char a)
{
if(a>='0' && a<='9')
return(a-48);
else
return(-1);
}int 和 char 明显不匹配,但是这个方法却能运行成功,我看了书,我觉得 要么都是int 要么都是char ,不可以混用的。 我也不是很明白 初学Java。
将对应的数字字符(如’1’、’4’等)转换为对应数字(如1、4)的方法,如果不能转换,则返回-1。测试数据:’5’、’a’、’-‘。
但是有个人定义方法的时候;
public int changechar(char a)
{
if(a>='0' && a<='9')
return(a-48);
else
return(-1);
}int 和 char 明显不匹配,但是这个方法却能运行成功,我看了书,我觉得 要么都是int 要么都是char ,不可以混用的。 我也不是很明白 初学Java。
{
public int changechar(char a)
{
if(a>='0' && a<='9')
return(a-48);
else
return(-1);
}
public static void main(String args[])
{
charchan abc=new charchan();
System.out.println(abc.changechar('5'));
}
}
public int Charchange(int a)
{
char a1=b';
char c=a1-48;
if(c>=0&&c<=9)
{
System.out.println(c);
return c;
}
else
return (-1);
}}我是楼主 帮我该下错 就是刚才这个题目
if(num < 0 || num > 9)
num = -1;
return num;
char与int运算的是 ascii的值