gpt4 book ai didi

java - If语句在android中不断激活

转载 作者:行者123 更新时间:2023-11-30 11:24:49 26 4
gpt4 key购买 nike

我正在编写一些代码,允许程序检查用户是否输入了姓名和生日,并确定生日是否在今天,然后播放生日快乐。然而,虽然我设法让程序使用正确的日期并播放歌曲,但 if 语句似乎无法正常工作。每当我输入当前日期作为生日时,生日快乐歌总是会响起,即使名字框是空的,它也会询问你的名字。只有当生日文本框和当天匹配时才会发生这种情况,所以任何人都可以帮助我让我的 if 语句正常工作。这是我的 if 语句代码。

if((btn==v) && (name.getText().toString()!="") && (bday.getText().toString()!="") && (bday.getText().toString().equals(formatdate))){
String msg1 = "Today is " + sdf.format(cdate.getTime()) + ". Happy Birthday, " + name.getText() + "!";
toast = Toast.makeText(this, msg1, Toast.LENGTH_SHORT);
toast.show();
//Context context = null;

mp.start();
//mp.stop();
response.setText(msg1);
}else if(btn==v && name.getText().toString().equals("") && bday.getText().toString()!=""){
String msg3 = "Please enter your name.";
toast = Toast.makeText(this, msg3, Toast.LENGTH_SHORT);
toast.show();
mp.stop();
response.setText(msg3);
}else if(btn==v && name.getText().toString()!="" && bday.getText().toString().equals("")){
String msg4 = "Please enter your birthday.";
toast = Toast.makeText(this, msg4, Toast.LENGTH_SHORT);
toast.show();
response.setText(msg4);
}else if(btn==v && name.getText().toString().equals("") && bday.getText().toString().equals("")){
String msg5 = "Please enter your name and birthday.";
toast = Toast.makeText(this, msg5, Toast.LENGTH_SHORT);
toast.show();
response.setText(msg5);
}else{
String msg2 = "Today is " + formatdate + ". Sorry today is not your birthday.";
toast = Toast.makeText(this, msg2, Toast.LENGTH_SHORT);
toast.show();
response.setText(msg2);
}

最佳答案

您需要更改一些内容。你不需要这样做:

name.getText().toString()

您可以去掉 toString() 部分。

其次。而不是做这样的事情:

name.getText().toString()!=""

改成这样:

!name.getText().equals("")

因为 .equals() 返回一个 boolean 值,您不能将字符串与 ==!= 等进行比较。

最后,您需要确保不使用 b == v 而使用 b.equals(v)

关于java - If语句在android中不断激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20557823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com