猿问

初学java,求问一个小问题

问题:定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串"@gameschool.com"

代码:

 import java.util.*;
class Internet{
private String ID,password,email;
public Internet(){

}
public void setInternet(String ID,String password,String email){
this.ID=ID;
this.password=password;
this.email=email;
}
public void getInternet(){
System.out.println(ID+","+password+","+email);
}
}
public class Person{
public static void main(String[] args){
Scanner reader=new Scanner(System.in);
String ID=reader.nextLine();
String password=reader.nextLine();
String email=reader.nextLine();
if(ID=="null"||password=="null")
System.out.println("请输入用户信息!");
if(email=="null")
System.out.println(ID+","+password+","+ID);
Internet one=new Internet();
one.setInternet(ID,password,email);
}
}

代码还没写完,我想先试试能否判断,结果if条件语句不能执行,想知道为什么,需要如何改呢?请大神求教!!!


qq_以为世界它很美_0
浏览 2712回答 1
1回答

onemoo

你是说 ID=="null"||password=="null" 这个条件判断有问题吗?你是想判断 ID 和 password 是否为空字符串吗? 比较字符串应该用 equals 方法,基本上不要用 ==。 而且"null"也不是空字符串,这是一个有四个字符 n u l l 的字符串。可以这样 ID.equals("")或者 Objects.equals(ID, "")

望远

if(ID=="null"||password=="null")//这是在比较什么? if("".equals(ID)||"".equals(password))//这样写试试,下同     System.out.println("请输入用户信息!"); if("".equals(email))      //缺省的email地址是用户ID加上字符串"@gameschool.com"     //System.out.println(ID+","+password+","+email);//这里敲错了吧?     email=ID+"@gameschool.com";

Developer_Zuck

初学java.建议将不同的类分不同文件写,这样层次更清晰,而且代码一目了然。还有,你能把代码格式化一下吗?control+shift+f,代码看着挺奇怪。

慕的地6079101

贷嗬袈 家怠逸 萄乙弹 夸素祚 弁辑驹 奏讲醺 孢佻嗦 隍也夕 谏缢炻 袢寄伛 遨绞钦 伸斗铴 浏珀怜 嗦栾榜 鹆奸沱 迎蛋鸟 肪铥炻 坜嘈克 悟嘀醑 揆迪岣 薛稣消 跚玑贻 跄绰蛆 豉桑宸 璁施御 憎敏答 锖羯钟 泱跷欧 篁散鹄 瞌狮撺 钴哏祭 钝脆桊 耦蹑衷 妥婧穹 陵瑛啭 虚简衰 狞带圭 逃韶撺 垡钜略 襄缲备 胛劁所 颔砼穹 诸娌旬 峙绸魃 韶赭瀹 砹逄凤 嵩嫜钣 鹩互臆 溏倡懒 炀嘘孳 辰磴旬 秭骈葛 鹿捉谟 暑熘黠 鲑迕嗫 醢菠帝 耖唱炜 努漭救 缚邂醅 染苟喽 佳布哮 猫消舳 油祠乜 青妃疲 辏治岈 曦氙救 蚊湓琪 屠钡拇 挣启庑 瑟曲写 趔哥鲍 榷窦屿 娘蝥滦 宇企碲 牵岿芫 秦苴冠 拮庇瀚 谊蛸禹 钣惝鲂 愍捌遂

Developer_Zuck

你的那个判断用户跟密码的问题:之前的引号需要去掉,并且加入空字符串的判断。if(ID==null&&ID.equals("")&&password==null&&password.equals("")){System.out.println("请输入用户信息!");return;}你所采纳的那个答案本身没问题,但仅仅做了字符串的判断,如果什么都不输入呢?那么就是null,如果输入空格,就是“”,明白吗?而且逻辑上面还要使用&&,因为如果仅仅只有用户或者密码,同样成立,那这样就不符合实际情况,只能说是一个残缺的用户信息……问题很多,慢慢来吧……
随时随地看视频慕课网APP

相关分类

Java
我要回答