黑马程序员技术交流社区

标题: 疑惑 [打印本页]

作者: 胡刚涛    时间: 2012-8-12 17:15
标题: 疑惑
本帖最后由 胡刚涛 于 2012-8-12 17:55 编辑

public class web {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner scanner=new Scanner(System.in);
   System.out.println("请输入web:");
  String sex=scanner.next();
   if(sex!="百度"||sex!="搜狐"){
  System.out.println("非指定网站!");
   }else{
   System.out.println(sex);
   }
   }
}
无论输入什么都是
非指定网站!
没有进入if 语句 求解!!!

作者: 张可    时间: 2012-8-12 19:45
if(sex!="百度"||sex!="搜狐")
判断结果永远为true
把|| 改成&&
作者: 张忠豹    时间: 2012-8-12 20:21

import java.util.Scanner;

public class TestWeb {
        public static void main(String[] args) {
                  // TODO Auto-generated method stub
                  Scanner scanner=new Scanner(System.in);
                   System.out.println("请输入web:");
                  String sex=scanner.next();
                  //下面这句有问题,比较两个字符串的值是否相等,要用equals,而“==”比较的是两个字符串的地址值
                   if(!sex.equals("百度")||!sex.equals("搜狐")){
                  System.out.println("非指定网站!");
                   }else{
                   System.out.println(sex);
                   }
                   }


}

作者: 黑马-郑鹏    时间: 2012-8-12 21:39
当sex=“百度”时,
sex!="百度"为false,sex!="搜狐"为true,sex!="百度"||sex!="搜狐"为true,此时打印出的是:非指定网站!
当sex=“搜狐”时,
sex!="百度"为true,sex!="搜狐"为false,sex!="百度"||sex!="搜狐"为true,此时打印出的是:非指定网站!
当sex即不为“百度”,也不为"搜狐"时,
sex!="百度"为true,sex!="搜狐"为true,sex!="百度"||sex!="搜狐"为true,此时打印出的是:非指定网站!
所以无论sex为何值时,总是执行 System.out.println("非指定网站!");这句话,导致
无论输入什么都是
非指定网站!
你可以这样改
if(sex!="百度"&&sex!="搜狐"){//把||改成&&
   System.out.println("非指定网站!");
    }else{
    System.out.println(sex);
    }
也可以这样:
if(sex=="百度"&&sex=="搜狐"){//把||改成&&
     System.out.println(sex);
      }else{
System.out.println("非指定网站!");
       }

作者: 黑马-郑鹏    时间: 2012-8-12 21:40
是这样,上面写错了!见笑了!
if(sex=="百度"||sex=="搜狐")
      System.out.println(sex);
       }else{
System.out.println("非指定网站!");
        }
作者: 胡刚涛    时间: 2012-8-12 23:44
ok,问题解决了字符串要用equals方法哦!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2