逐字符比较字符串和文本

时间:2019-06-14 19:09:35

标签: java arrays string user-interface

我正在进行打字游戏。当用户输入密钥时,程序应将其与存储的字符串/数组进行比较。如果它与该索引处的字符匹配,则应增加分数变量。

我试图将输入的文本存储在字符串中,然后将其分成字符后进行比较。

         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++;
             }
         }

如果输入的键匹配字符,则“分数”递增,否则递减。

2 个答案:

答案 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()在给定的索引处搜索字符。根据您的水平,我认为这种方法很适合您。