我正在进行打字游戏。当用户输入密钥时,程序应将其与存储的字符串/数组进行比较。如果它与该索引处的字符匹配,则应增加分数变量。
我试图将输入的文本存储在字符串中,然后将其分成字符后进行比较。
text=new JTextField(40);
String sentence="the quick brown fox jumps over the lazy dog";
String store=text.getText();
for (int i = 0; i < store.length(); i++) {
if(store[i]==sentence.charAt(i)) { //error
score++;
}
}
如果输入的键匹配字符,则“分数”递增,否则递减。
答案 0 :(得分:1)
您的store
变量也是一个String而不是一个数组,因此您必须使用.charAt()
:
for (int i = 0; i < Math.min(store.length(), sentence.length()); i++) {
if(store.charAt(i) == sentence.charAt(i)) {
score++;
} else {
score--;
}
}
您还应该使用Math.min(store.length(), sentence.length())
来防止IndexOutOfBoundsException
。
答案 1 :(得分:0)
我同意塞缪尔·菲利普(Samuel Philipp)使用我想补充的.charAt().
。
.charAt()
在给定的索引处搜索字符。根据您的水平,我认为这种方法很适合您。