一段小代码的思考

    xiaoxiao2021-03-25  89

    一个题目是女孩找对象,如果男方身高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的值

              

    转载请注明原文地址: https://ju.6miu.com/read-32343.html

    最新回复(0)