java中加号的问题?

发布于 2022-08-28 00:38:31 字数 183 浏览 25 评论 0

初学者编程,写一个简单的计算器,直接让用户在终端输入,用system.in读进来,我折腾了好久,数字都好办,直接用datainputstream读进来,但是这个运算符,比如加号,我怎么读进来呢,我用string读进来,然后用if(s == “+”)判断,不行,或者readchar来读,也不行,到底这个加号是什么数据类型呢,还是我的读取方法有误呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

趁年轻赶紧闹 2022-09-04 00:38:31

囧。s.equals("+") 吧。。。

好吧。。。我看到是初学者编程了。
这个的确是初学的同学容易犯的错误。看看下面这个文章,或者搜一下。

Java中equals和==的区别

谎言月老 2022-09-04 00:38:31

教你一个办法:

  1. 全部用 String 读进来,比如 BufferedReader.readLIne()
  2. 然后按空格拆分字符串,可以用 java.util.StringTokenizer
  3. String 转 int ,用 Integer.parseInt()
  4. 判断 s 是不是 "+",用 s.equals("+") 方法,而不是 ==
远山浅 2022-09-04 00:38:31

判断符号用

"+".equals(s)

==只能判断基本数据类型,String是Class,要用equals方法来判断。
"+"放在前可以预防空指针的发生。
如果s.equals("+") s为null的时候,就有引发空指针异常.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文