一段小代码的思考

一个题目是女孩找对象,如果男方身高180cm,资产超过千万,长得帅,那女孩就会一定嫁,如果满足了其中一个条件女孩就决定还是嫁吧,有胜过无

如果男生条件都不满足,那女孩坚决不嫁

本来是个很简单的条件判断,却在运行中出现了问题


import java.util.*;

 public class    Java {

public static void main(String [] agrs){

             Sanner in = new Scanner (System.in);

               System.out.println ("请输入身高");

                int   h   =in.nextInt();                                        //输入语句

                 System.out.println ("请输入资产(千万)");

 int m  =in.nextInt();

                  System.out.println ("请输入是否颜值高");

                   String b =in.next();           // 此处调函数包 出来        

                   if (h>=180  &&  m>=1000  &&    b.equals("yes")) {                 //判断姑娘一定嫁的条件是否成立

                       System.out.println ("一定嫁")      ;

                    }else if (h>=180  ||  m >=1000 ||  b.equals("yes")){               //判断姑娘是否会嫁

                          System.out.println ("还是嫁了吧,比上不足,比下有余") ;

                      }else{  //否则就不嫁

                             System.out.println ("坚决不嫁");

                       }

这段代码最初设定的条件语句是这样的(h >=180&&  m>=1000&&b == "yes")

在运行时发现输入   175   ,600 和yes三个数据时运行结果为坚决不嫁,这就跟

设想 的不一样,目前只能想到用 equals,来解决这个问题,原因大概是,yes是b 

所指向内存的值,并不是完全等于b的值

          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值