高手帮我解决个java程序的小问题吧?

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:45:57
import java.util.*;
public class java {
public static void main(String[] args){
char name;
int password;
Scanner input=new Scanner(System.in);
name=input.next().charAt();
password=input.nextInt();
if(name=='青'&&password==123){
System.out.println("欢迎你,青!");
}else{
System.out.println("对不起,你不是青!请不要再来骚扰我好不好?");
}
}
}
这个程序本身是没有问题的,但是运行的结果是我输入了“青111111111111111111111111111111111”后,它竟然也会提示说“欢迎你,青!”,这个就有悖于初衷了,请问有什么办法让它只接受“青”这个字符吗?

主要是:"name=input.next().charAt(); "这一行的问题,charAt()方法是有参数的,看那题意,你用的应该是charAt(0)吧,那就所有以“青”字段开头的都可以了,改了下:
import java.util.*;

public class java {
public static void main(String[] args){
String name;
int password;
Scanner input=new Scanner(System.in);
name=(String)input.next();
password=input.nextInt();
if(name.equals("青")&&password==123){
System.out.println("欢迎你,青!");
}else{
System.out.println("对不起,你不是青!请不要再来骚扰我好不好?");
}
}
}

if(name.equals('青')&&password==123){
System.out.println("欢迎你,青!");
}
试试这样写,字符串做比较用equals不要用==

使用==比较的只是对象的引用,而equals比较的才是内容,==可以用来比较基本的类型

个人感觉没有问题!

想知道答案

把青 字节限制了