永发信息网

java问题!急!

答案:6  悬赏:70  手机版
解决时间 2021-05-22 13:38
  • 提问者网友:做自己de王妃
  • 2021-05-22 04:10

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+",请重新输入!");}
}
}

运行不正常!

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

请高手指教!

最佳答案
  • 五星知识达人网友:猎心人
  • 2021-05-22 04:27

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


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


String a = "test";


String b = "test";


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

全部回答
  • 1楼网友:雾月
  • 2021-05-22 08:11

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

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

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

所以返回的是false

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

  • 2楼网友:詩光轨車
  • 2021-05-22 06:52
ss的值是什么
  • 3楼网友:大漠
  • 2021-05-22 05:21
问题一楼的回答是正确的。我来加油一下。欢迎进入java学习。
  • 4楼网友:走死在岁月里
  • 2021-05-22 04:53
这么简单的问题 。。。。。笨死了你
  • 5楼网友:第幾種人
  • 2021-05-22 04:45

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

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯