java初步问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:19:44
import java.util.*;
public class HaHa {
public static void main(String[]args){

Scanner input = new Scanner(System.in);
System.out.print("请输入用户名 :");
String ming = input.next();
System.out.print("请输入密码:");
int mi= input.nextInt();
if(ming=="青" && mi== 1){
System.out.print("你好,欢迎进入我的家园");
}else {
System.out.print("对不起,你不是青!");
}

}

}
此程序运行没有问题,但是在输入“青”跟密码“1”后,起运行结果是“对不起你不是青”!这是为什么?
无论是输入对的用户名跟密码,还是输入错误的用户名跟密码,其结果都是“对不起你不是青"!请解释!
“青”必须使用String 类型吗?可以使用char类型吗?请举例!
谢谢!!

因为字符串==的时候不能用==
要用ming.equals("青")

比较两个字符的时候要用
"青".equals(ming),它和 == 还是有区别的

字符串比较用equal的,不能用"==",除非判断一个字符串是否为空,可以用"ming==null"

“青”必须使用String 类型吗?可以使用char类型吗?
应该可以:
char c='清';
if(c=='清')
System.out.println(c);
似乎能正常输出

字符串比较用equal()函数,例如ming.equal("青"),不能用"=="。

修改后的程序:

import java.util.*;
public class HaHa {
public static void main(String[]args){

Scanner input = new Scanner(System.in);
System.out.print("请输入用户名 :");
String ming = input.next();
System.out.print("请输入密码:");
int mi= input.nextInt();
if(ming.equals("青") && mi== 1){
System.out.print("你好,欢迎进入我的家园");
}else {
System.out.print("对不起,你不是青!");
}

}
}