永发信息网

java问题!急!

答案:6  悬赏:70  手机版
解决时间 2021-05-22 13:38

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
public class AppletInOut extends Applet implements ActionListener
{
Label prompt;
TextField input,output;
String s="花朵";
public void init()
{
prompt=new Label("请输入一个词语:");
input=new TextField(6);
output=new TextField(25);
s="花朵";
add(prompt);
add(input);
add(output);
input.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String ss;
ss=input.getText();
//output.setText(ss+",欢迎进入!");
if(s==ss)
{output.setText(ss+",欢迎进入!");}
else
{output.setText(ss+",请重新输入!");}
}
}

运行不正常!

在输入预定字符串“花朵”之后出现的不是程序中的“花朵,欢迎进入!”而是“花朵,请重新输入!”

请高手指教!

最佳答案

是的,和楼上的兄弟说的一样,不能使用s==ss,而要使用s.equals(ss)


因为==是做对象比较,同一个值:"test"


String a = "test";


String b = "test";


a是不等于b的,而String对象的equals方法是做值比较。

全部回答

==是基本数据类型的比较

equals 才是复合数据类型比较值的方法

因为是String类型你要是使用==比较的话那么就是比较的是地址空间了

所以返回的是false

用equals返回的就是值之间的比较

ss的值是什么
问题一楼的回答是正确的。我来加油一下。欢迎进入java学习。
这么简单的问题 。。。。。笨死了你

if(s==ss) <-- 改成 if(s.equals(ss))

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐款画面漂亮的游戏
求一个炫舞戒指图
If you _play computer games,please finish
记录于青春有关的日子搞成繁体字?
丑女无敌第一季费总给无敌过生日在酒吧里遇见
尚御臻品陶瓷地址在哪,我要去那里办事
:31.合成甘油三酯的结构是
QQ华夏QQ会员游戏达人的称号怎样免费获得很多
道德格言修身经典中国,收集名人名言或励志语
谁知道NBA2008什么键是加速啊
奇幻天蝎套装系统送几天
测量坐标系统和施工坐标系统换算
三番五次的意思是什么,五次三番是什么意思
快男7进6,谁淘汰了拉。
爱美的JM们`我想请问一下`现在到底什么牌子的
推荐资讯
现在还有多少人喜欢听黄家驹的歌?
QQ秀有什么用啊?
小学古诗词诵读的目的,小学经典诵读古诗文做
温州麻行码头至温州新火车站
DNF什么时候支持64位操作系统?
八宝粥可以带上飞机吗,锤子螺丝刀万用表可以
小石潭记课文翻译
27与九分之七的积减去4除以七分之六的商,差是
荡漾的’漾’还能组什么词?
请勿抽烟用英语怎么说No smoking
登陆QQ时怎么设置安全问题?
求一首歌曲、开头是啦 啦 啦 啦啦 啦 啦
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?