拼字ACSL java编码

拼字ACSL java编码,java,Java,这段代码太长了。有没有办法让这段代码更简单?我是一个新手,一个朋友问我,他没有任何帐户要问,所以我问我的,我真的很不擅长编码,所以请帮助!(我欠他) 所以这个程序的作用是,如果你输入一个单词,并且只有四个字母的单词(来自ACSL),那么只有a,e=1点d,r=2点b,m=3点v,y=4点j,x=8点。如果我键入带有空格的j a v a,它将打印我们的 8 1 4 1 java 如果你输入的不是这些字母,它会打印“nooooo”(我不知道他为什么这样做) 我不知道怎样才能把它变成一个更简单的形式

这段代码太长了。有没有办法让这段代码更简单?我是一个新手,一个朋友问我,他没有任何帐户要问,所以我问我的,我真的很不擅长编码,所以请帮助!(我欠他)

所以这个程序的作用是,如果你输入一个单词,并且只有四个字母的单词(来自ACSL),那么只有a,e=1点d,r=2点b,m=3点v,y=4点j,x=8点。如果我键入带有空格的j a v a,它将打印我们的

8
1
4
1
java
如果你输入的不是这些字母,它会打印“nooooo”(我不知道他为什么这样做) 我不知道怎样才能把它变成一个更简单的形式。我在想,制作一个字符串,阅读每个字母,并将其放在一个if-else语句中。可能吗

我在想,制作一个字符串,阅读每个字母,并将其放在一个if-else语句中。可能吗

当然

您可以使用读取整个单词字符串,使用拆分为,使用迭代字符,使用测试字符值的重复性比使用if/elseif稍微少一些

Scanner input = new Scanner(System.in);
System.out.println("Enter the word:");
String word = input.nextLine();
int wordValue = 0;

for (char c : word.toCharArray()) {
    int val;
    switch (c) {
    case 'a':
    case 'e':
        val = 1;
        break;
    case 'd':
    case 'r':
        val = 2;
        break;
    case 'b':
    case 'm':
        val = 3;
        break;
    case 'v':
    case 'y':
        val = 4;
        break;
    case 'j':
    case 'x':
        val = 8;
        break;
    default:
        System.out.println("NOOOOOOO");
        return;
    }

    wordValue += val;
}

System.out.println(wordValue);
Scanner input = new Scanner(System.in);
System.out.println("Enter the word:");
String word = input.nextLine();
int wordValue = 0;

for (char c : word.toCharArray()) {
    int val;
    switch (c) {
    case 'a':
    case 'e':
        val = 1;
        break;
    case 'd':
    case 'r':
        val = 2;
        break;
    case 'b':
    case 'm':
        val = 3;
        break;
    case 'v':
    case 'y':
        val = 4;
        break;
    case 'j':
    case 'x':
        val = 8;
        break;
    default:
        System.out.println("NOOOOOOO");
        return;
    }

    wordValue += val;
}

System.out.println(wordValue);