黑马程序员技术交流社区
标题:
新手,判断两个数是否相同,想知道怎么错的
[打印本页]
作者:
张雪磊
时间:
2012-7-7 16:36
标题:
新手,判断两个数是否相同,想知道怎么错的
本帖最后由 张雪磊 于 2012-7-7 20:22 编辑
新手,刚看到毕老师的视频day3,即将讲到“判断两个数是否相同”,自己想动手试试,胡写了一下,想知道怎么错的,谢谢
/*
需求:判断两个数是否相同
*/
class FunTest
{
public static void main(String[] args)
{
System.out.println(pdxt(3,4));
}
public static char pdxt(int a,int b)
{
if(a==b)
{
return "两个数相同";
}
else
{
return "不同";
}
}
}
复制代码
报错
FunTest.java:16: 错误: 不兼容的类型
return "两个数相同";
^
需要: char
找到: String
FunTest.java:20: 错误: 不兼容的类型
return "不同";
^
需要: char
找到: String
2 个错误
作者:
邵阳
时间:
2012-7-7 16:40
本帖最后由 邵阳 于 2012-7-7 16:50 编辑
/*
需求:判断两个数是否相同
*/
class FunTest
{
public static void main(String[] args)
{
System.out.println(pdxt(3,4));
}
public static
char
pdxt(int a,int b)//
改成string
{
if(a==b)
{
return "两个数相同";
}
else
{
return "不同";
}
}
}
//
因为char是字符型数据类型,而你返回的是字符串。肯定会出现不兼容的现象
。
再给你说个小细节:
字符型类型char,一般是用两个单引号
' '
表
示。
而字符串String,一般是用两个双引号
" "
表示。
都是在英文状态下
。
作者:
康大玮
时间:
2012-7-7 16:40
返回值
package day7_7;
/*
需求:判断两个数是否相同
*/
class FunTest
{
public static void main(String[] args)
{
System.out.println(pdxt(3,4));
}
public static String pdxt(int a,int b)
{
if(a==b)
{
return "两个数相同";
}
else
{
return "不同";
}
}
}
作者:
李照飞
时间:
2012-7-7 16:55
char的范围是两个字节,也就是一个中文字,你的"两个数相同"和"不同"都超出了char的范围,所以无法编译,你可以将char改成string或者定义boolean型用true和false来表示"两个数相同"和"不同"。
作者:
位雪
时间:
2012-7-7 17:11
第12行:char改为String,char是字符型数据类型,而返回的是字符串,肯定会出现不兼容的现象。
字符型类型char,一般是用两个英文下的单引号' '表示。
而字符串String,一般是用两个英文下的双引号" "表示。
作者:
封明川
时间:
2012-7-7 17:24
/*
需求:判断两个数是否相同
*/
class FunTest
{
public static void main(String[] args)
{
System.out.println(pdxt(3,4));
}
public static
String
pdxt(int a,int b) //
返回的是一个字符串,你定义函数的时候也要一个接收字符串类型的类
{
if(a==b)
{
return "两个数相同";
}
else
{
return "不同";
}
}
}
作者:
朱东方
时间:
2012-7-7 17:28
本帖最后由 朱东方 于 2012-7-7 17:30 编辑
class FunTest
{
public static void main(String[] args)
{
System.out.println(pdxt(3,4));
}
/*
public static char pdxt(int a,int b) <FONT color=red> //你定义的返回值类型为char,但是return后面的“两个数相同”却是字符串。类型不符</FONT>。
{
if(a==b)
{
return '同'; <FONT color=red>//如果换成单引号的话,就变成了字符型了。
//但是char只能存储两个字节即一个中文字。所以编译一样通过不了。
//换成一个字,'同' 这样就ok了。
//注:这个编译可以通过。
</FONT>}
else
{
return '异';
}
}
*/
public static String pdxt(int a,int b) <FONT color=red>//如果把这个返回值类型改成字符串就ok了</FONT>。
{
if(a==b)
{
return "两个数相同"; <FONT color=red>//" "代表字符串。' '这个代表字符型</FONT>。
}
else
{
return "不同";
}
}
}
/*
<FONT color=red>知识点:
1.字符型常量和字符串型常量的表达方式。
2.定义函数式 返回值 一定要 保持一致。
3.char只能存储2个字节,而一个中文字占2个字节。</FONT>
*/
复制代码
作者:
陈冲
时间:
2012-7-7 17:45
本帖最后由 陈冲 于 2012-7-7 17:59 编辑
/*
需求:判断两个数是否相同
*/
class FunTest
{
public static void main(String[] args)
{
System.out.println(pdxt(3,4));
}
public static char pdxt(int a,int b)//此处定义的函数范围类型是char型
{
if(a==b)
{
return "两个数相同";//而此处和下面的返回值是string类型
}
else
{
return "不同";//使用单引号' '表示的是字符型(char),而使用" "表示的是字符串型(string)
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2