java中比较字符遇到的问题

blue_raindow 2004-12-27 10:29:05
if(tt.fuhao.compareTo("*")==0)
System.out.println(aa.add(tt.num1,tt.num2));
或者
if(tt.fuhao.equals("*"))
System.out.println(aa.add(tt.num1,tt.num2));
都不行。 为什么在java里面不能和"*"号 做比较呢?

而且 我做个试验:String kk="*";然后我System.out.println(kk);
这样在执行程序的时候 打印不出''*''
请问为什么呢?有什么方法可以比较"*"嘛?
...全文
118 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
blue_raindow 2004-12-27
  • 打赏
  • 举报
回复
我知道了 我得问题不是 与"*"是否能比较 而是我在控制台直接输入*的错误
blue_raindow 2004-12-27
  • 打赏
  • 举报
回复
谢谢 各楼的同志:)
tom2005 2004-12-27
  • 打赏
  • 举报
回复
,* 在命令行参数中是有特殊含义的,这个就像 “”也是有特殊含义一样的
blue_raindow 2004-12-27
  • 打赏
  • 举报
回复
可以啦 但是为什么控制台不能直接输入 * 呢?
blue_raindow 2004-12-27
  • 打赏
  • 举报
回复
能告诉我为什么嘛? 但是我想打出 “*” 也不行 为什么呢?
tom2005 2004-12-27
  • 打赏
  • 举报
回复
在控制台直接输入 * 是不可以的

这样试试

java jisuan 9 "*" 9
blue_raindow 2004-12-27
  • 打赏
  • 举报
回复
上面的else if(tt.fuhao.compareTo("×")==0)
System.out.println(tt.num1*tt.num2);
应该是
else if(tt.fuhao.compareTo("*")==0)
System.out.println(tt.num1*tt.num2);
blue_raindow 2004-12-27
  • 打赏
  • 举报
回复
class ZHU
{
public int num1,
num2;
public String fuhao;
ZHU()
{}
ZHU(String a,String b,String c)
{
num1=Integer.parseInt(a);
fuhao=b;
num2=Integer.parseInt(c);
}
}
class Jiafa extends ZHU
{
public int add(int t1,int t2)
{
return t1+t2;
}
}

class Jianfa extends ZHU
{
public int sub(int t1,int t2)
{
return t1-t2;
}
}

class Chengfa extends ZHU
{
public float mul(int t1,int t2)
{
return t1*t2;
}
}

class Chufa extends ZHU
{
public int rem(int t1,int t2)
{
return t1/t2;
}
}
class jisuan
{
public static void main(String args[])
{
ZHU tt=new ZHU(args[0],args[1],args[2]);
Jiafa aa=new Jiafa();
Jianfa bb=new Jianfa();
Chengfa cc=new Chengfa();
Chufa dd=new Chufa();
if(tt.fuhao.equals("+"))
System.out.println(aa.add(tt.num1,tt.num2));
else if(tt.fuhao.equals("-"))
System.out.println(bb.sub(tt.num1,tt.num2));
else if(tt.fuhao.compareTo("×")==0)
System.out.println(tt.num1*tt.num2);
else if(tt.fuhao.equals("/"))
System.out.println(dd.rem(tt.num1,tt.num2));
else
System.out.println("没有这项计算!");
}
}
谢谢了 就是算不了乘法 java jisuan 9 * 9
dinosaurain 2004-12-27
  • 打赏
  • 举报
回复
public class TestClass {

public static void main(String[] args) {
String kk = "*";
if ("*".equals(kk.toString())) {
System.out.println(true);
} else {
System.out.println(false);
}
}
}

这样比较不了 * 吗?
redex 2004-12-27
  • 打赏
  • 举报
回复
同意楼上几位仁兄的说法.
ForestOcean 2004-12-27
  • 打赏
  • 举报
回复
呵呵,需要知道你程序中tt.fuhao的值?

楼主的小程序
String kk = "*";
System.out.println(kk);
可以输出星号。

如不能,请附完整源程序。
pennyclz 2004-12-27
  • 打赏
  • 举报
回复
up
z3h 2004-12-27
  • 打赏
  • 举报
回复
部应该的,可以把 你的程序拿出来看看。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧