假定该程序是一个词汇测试,包含10个不同的单词。我的代码除了一件事之外都在工作,并且这是一个函数,如果某些字符是正确的,则该函数允许用户获取输出“几乎正确,正确的答案是……”。

例如;正确的答案是房子。

user writes: housq -> output = "Almost correct, the correct answer is..."

user writes hsasa -> output = "Wrong, the correct answer is..."


我的计划是将int计数中的“几乎正确”放在1-3之间。

但是有了这个循环:
例如,它仅计算正确拼写的单词

Correct word is house.

input -> house -> count=5

input -> housa -> count=0.


我是Java新手,对于潜在的错误代码,我向所有人道歉。

     Scanner scanner = new Scanner(System.in);
    String inputString = "";
    String[] eng = {"car", "house", "run", "blue", "bake", "jump", "swim", "moon", "road", "kind"};
    String[] swe = {"bil", "hus", "springa", "blå", "baka", "hoppa", "simma", "måne", "väg", "snäll"};
    int result = 0;
    int word = 0;
    int count = 0;
    int low = 2;
    int high = 3;

    for (int i = 0; i < swe.length; i++) {
        System.out.println(swe[i]);
        inputString = scanner.nextLine().trim();

        if (inputString.equalsIgnoreCase(eng[i])) {
            word++;
            result++;
            System.out.println("Korrekt! " + result + " rätt av " + word + " ord.");

            for (int j = 0; j < inputString.length(); j++) {
                if (inputString.charAt(j) == eng[i].charAt(j)) {
                    ++count;

                }
            }
                      if(count >= low){
                    System.out.println("Nästan rätt, korrekt svar är " + eng[i]);
                    word++;
                }


                if(count > low && count < high){
                    System.out.println("Nästan rätt, korrekt svar är " + eng[i]);
                    word++;
                }
        if (count == 0) {
            System.out.println("fel, rätt svar är " + eng[i]);
            word++;
        }
        System.out.println(count);

        if (inputString.equalsIgnoreCase("Q")) {
            System.out.println("Du svarade på totalt " + word + " glosor och hade " + result + " rätt. Välkommen åter!");

            System.exit(0);

        }

        count = 0;
    }
}


}}

最佳答案

我用这样的代码片段尝试过,我得到正确的输出。
这是我尝试过的

String inputString = "housr";
        String eng = "house";
        int count = 0;
        for(int j=0; j < inputString.length(); j++) {
            if(inputString.charAt(j) == eng.charAt(j)){
            ++count;
           }}
        System.out.println(count);


我得到的输出为4

而您正在尝试什么,请同时粘贴您的逻辑和数据

10-06 11:10