是否有可能将用户输入到多个txtfields [通过getText()]然后连接它? 说,我有5个txtfields,我想得到他输入到每个txtfield的信,然后将它与正确的词进行比较(它就像一个4pics1word游戏)。
String s1 = field1.getText();
String s2 = field2.getText();
String s3 = field3.getText();
String s4 = field4.getText();
String s5 = field5.getText();
if (s1 + s2 + s3 + s4 + s5 == "hello") {
lvl++;
}
这甚至可能吗? (哈哈,对不起,我是初学者) 如果没有,你会建议我做什么呢?谢谢
答案 0 :(得分:1)
是的,这是可能的。你这样做几乎是正确的:
String result = s1 + s2 + s3 + s4 + s5;
if ("hello".equals(result) {
lvl++;
}
如果你冒险进入更多领域,你应该研究StringBuilder
:
String result = new StringBuilder().append(s1).append(s2).append(s3).append(s4).append(s5).toString();
if ("hello".equals(result) {
lvl++;
}
使用Java 8:
String result = Arrays.asList(field1, field2, field3, field4, field5)
.stream()
.map(field -> field.getText()) // or ClassOfField::getText
.collect(Collectors.joining());
答案 1 :(得分:0)
是的,这完全有可能。您的代码唯一的问题是您使用==
来比较字符串,这几乎不会起作用(用于比较它们的内容)。使用.equals
:
if ("hello".equals(s1 + s2 + s3 + s4 + s5) {
将==
与字符串对象一起使用可以比较对象引用。您可以拥有多个具有相同字符序列的字符串对象,这就是equals
的用途。在Java中,您基本上不会将==
与字符串一起使用。
答案 2 :(得分:0)
是的,这是完全可能的。但请注意,字符串比较应使用equals
,而不是==
:
if ((s1 + s2 + s3 + s4 + s5).equals("hello")) {
lvl++;
}