tmntduke
2015-08-10 14:35
采纳率: 85.7%
浏览 2.0k
已采纳

用scanner.next将键盘输入的值赋给变量后再进行判断

import java.util.Scanner;
class Person{
public String name;
public int pass;
public void Sc(){
Scanner scanner=new Scanner(System.in);
name=scanner.next();
pass=scanner.nextInt();
System.out.println(name+","+pass);
if( name =="abc" && pass==123){
System.out.println("登陆成功");
}
else{
System.out.println("登陆失败");
}
}
}
public class Load {
public static void main(String [] args){
Person person=new Person();
person.Sc();
}
}
为什么键盘输入abc和123 会输出登录失败

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 笃行后生 2015-08-10 14:40
    已采纳

    name要用equals来比内容

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 笃行后生 2015-08-10 15:31

    ==,可用于基本数据类型间比较数值,也可用于引用数据类型间比较地址(String就是引用数据类型);equals方法,在超类Object中有定义,用于比较对象内容是否相等。

    评论
    解决 无用
    打赏 举报
  • JonsonJiao 2015-08-10 23:13
    评论
    解决 无用
    打赏 举报
  • 觅夜的黑 2015-08-11 01:18

    ==比较地址,eq比较内容。

    评论
    解决 无用
    打赏 举报
  • Q544471255 2015-08-11 02:30

    name=scanner.next();
    pass=scanner.nextInt();
    System.out.println(name+","+pass);
    if( name =="abc" && pass==123){

    用equals去比较字符串,然后建议pass也用字符串,不然你输入pass一个字符串就会报错(因为字符串没法转换成数字)。

    评论
    解决 无用
    打赏 举报
  • tmntduke 2015-08-11 10:05

    多谢各位的回答,现在问题解决了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题