A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡刚涛 中级黑马   /  2012-8-12 17:15  /  1155 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 胡刚涛 于 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 语句 求解!!!

点评

第一:web首字母应该大写,符合Java代码编写风格; 第二:没有进入else语句吧? 第三:你的逻辑有问题,以及对字符串的判断有问题。  发表于 2012-8-12 18:08

5 个回复

倒序浏览
if(sex!="百度"||sex!="搜狐")
判断结果永远为true
把|| 改成&&
回复 使用道具 举报

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);
                   }
                   }


}
回复 使用道具 举报
当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("非指定网站!");
       }
回复 使用道具 举报
是这样,上面写错了!见笑了!
if(sex=="百度"||sex=="搜狐")
      System.out.println(sex);
       }else{
System.out.println("非指定网站!");
        }

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 嘿嘿,差点没分了哦,赞一个!

查看全部评分

回复 使用道具 举报
ok,问题解决了字符串要用equals方法哦!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马