增量函数无法正常工作 - 找不到错误(Java,for循环)



我要制作一个输入用户输入的单词游戏。如果用户字符串包含某些字母,则将分配一定的分数。最后,我要报告这些人的绳子是什么,以及他们的得分是多少。例如,给定输入:"你好",人分数应为" 8"。(H = 4分,E = 1分,L = 1点,1 = 1次,0 = 1分(。您将能够在下面的代码中看到所有分数规则。我在Jgrasp上测试了该算法,它只给了我上一个字母的分数,因为我增加了分数变量,所以我感到困惑。因此,当我输入" Hello"时,它给我得分为" 1"而不是" 8"。这是我的代码:

 import java.util.Scanner;
    public class test{
    public static void main(String[] args){
    System.out.println("Enter a string");
    Scanner scan= new Scanner(System.in);
    String curLine= scan.nextLine();
    int score=0;
    int[] value= {1,2,3,4,5,8,10};
    for(int k= 0; k < curLine.length(); k++){
    char c= curLine.charAt(k);
    if(c == 'b'||c== 'c'|| c=='m'||c=='p'){
    score= value[2];
    }
    else if(c=='d'||c=='g'){
    score= value[1];
    }
    else if(c=='f'||c=='h'||c=='v'||c=='w'||c=='y'){
    score= value[3];
    }
    else if(c=='j'||c=='x'){
    score=value[5];
    }
    else if(c=='k'){
    score=value[4];
    }
    else if(c=='q'||c=='z'){
    score=value[6];
    }
    else{
    score=value[0];
    }
    }
    System.out.println("Your string was: " + curLine + "Your score is: " + score++);
    }
    }

您始终(重新(设置每个分支中的score的值:

score=value[index];

这意味着您的分数将始终将值分配给输入字符串的最后一个字符(在您的情况下," O" ->" 1"(。

您需要总结值:

score+=value[index];

您每次都将值分配给score变量。您需要使用现有的score添加值。喜欢以下

score+=value[index];

相关内容

最新更新