HangMan中的分数计算:Java代码

HangMan中的分数计算:Java代码,java,Java,我正在用Java为Hang Man游戏编写代码,但我无法编写正确的代码,也无法找到计算用户分数的方法,并在用户端用0:stop命令打印出来。以下是分数计算规则 分数计算为单词的字母数减去当前显示的字母数。 这里的“表格”分数是5-4=1,因为当用户猜测已经显示了4个字母时 如果用户猜测不正确,则得分为0 如果该男子的数字在猜测之前完成,则得分为0 同一用户玩的每一个游戏都是一个会话,同一个单词不能被计算机持有。 如果把“桌子”当作“东西”拿着,它就不能在同一个会话中再次被计算机拿着 当用户在主菜

我正在用Java为Hang Man游戏编写代码,但我无法编写正确的代码,也无法找到计算用户分数的方法,并在用户端用0:stop命令打印出来。以下是分数计算规则

分数计算为单词的字母数减去当前显示的字母数。 这里的“表格”分数是5-4=1,因为当用户猜测已经显示了4个字母时

如果用户猜测不正确,则得分为0 如果该男子的数字在猜测之前完成,则得分为0

同一用户玩的每一个游戏都是一个会话,同一个单词不能被计算机持有。 如果把“桌子”当作“东西”拿着,它就不能在同一个会话中再次被计算机拿着

当用户在主菜单中按0时,会话结束

游戏总数、正确猜测的次数以及用户的总分显示在屏幕上。 此外,我有一个问题,以防止重复在随机选择的字数组

import java.util.Random;
import java.util.Scanner;
public class CEVIK_CAGATAY{
    public static char[] star;
        public static void main (String args[])
        {   
            char game[];
            int category;
            int correct=0;
            Scanner input = new Scanner(System.in);
            Random r = new Random();
            int totalplay=0;
            int totalscore=0;
            String man[] = new String[7];
            man[2] = " --\n o |\n/  |\n   |\n_____\n";
            man[3] = " --\n o |\n/| |\n   |\n_____\n";
            man[4] = " --\n o |\n/|\\|\n   |\n_____\n";
            man[5] = " --\n o |\n/|\\|\n/  |\n_____\n";
            man[6] = " --\n o |\n/|\\|\n/ \\|\n_____\n";
            String arr[]={"serhat","cagatay","begum","emre","berk","ali","veli","istanbul",
            "ankara","mersin","izmir","antalya","new york","samsun","kedi","kopek",
            "kus","ayi","bocek","karinca","manda","masa","pencil","bag","clock","televison","book","glass"};
            int arr1 []={6,7 };


            System.out.println("0 To Stop,1 to Continue");
            category=input.nextInt();



            while(category!=0){


            System.out.println("0 To STop,1 to Continue"); 








        String word = arr[r.nextInt(arr.length)];
            for(int i=0; i<arr.length;i++) {
                if(arr[i]==word){
                    int letterlength=arr1[i];
                }
                //letterlength-existedlength=guessremain;


            }
            int count = word.length();
            char[] CharArr=word.toCharArray(); 
            char[] star = word.toCharArray();
        for(int i=0;i<star.length;i++)
        {
            star[i] = '*';
            System.out.print(star[i]);

        }


        for (int i=1; i<=5; i++)
        {
            System.out.printf ("\nGuess a Letter:");
            char letter= input.next().charAt(0);

            for (int j=0;j<CharArr.length; j++)
            {
                if(letter == star[j])
                {
                    System.out.println("this word already exist");
                }
                else
        {
                    if(letter==CharArr[j])
                    {
                        star[j]=letter;
                        i--;
                        System.out.printf("CORRECT GUESS!\n");
                        correct++;
                    }
                }
            }
            System.out.print(star);
            switch(i+0)
            {
                    case 1: System.err.printf("Strike 1\n");
                    System.out.println(man[2]);
                        break;
                    case 2: System.err.printf("Strike 2\n");
                    System.out.println(man[3]);
                        break;
                    case 3: System.err.printf("Strike 3\n");
                    System.out.println(man[4]);
                    break;
                    case 4: System.err.printf("Strike 4\n");
                    System.out.println(man[5]);
                    break;
                    case 5: System.err.printf("Strike5\n");


                        System.err.printf("You're out!!! The word is Not_Matched\n");
                        System.out.println(man[6]);
                        break;
            }   


            System.out.printf("\n");
            if((new String(word)).equals(new String(star))) 
            {
                System.err.printf("Winner Winner\n");
                break;
            }
        }
        totalplay++;
        totalscore+=correct;
        System.out.println("CONTINUE 1,STOP 0");
        category=input.nextInt();
        if(category==0) {
            System.out.println(totalplay);
            System.out.println(totalscore);
        }

    }

            }


        }
import java.util.Random;
导入java.util.Scanner;
公共类CEVIK_CAGATAY{
公共静态字符[]星;
公共静态void main(字符串参数[])
{   
字符游戏[];
int类;
int correct=0;
扫描仪输入=新扫描仪(System.in);
随机r=新随机();
int totalplay=0;
整数总分=0;
弦人[]=新弦[7];
man[2]=“n o| \n/| \n| \n|uuuuuuuuuuuuuun”;
男[3]=“n o|\n/||\n|\n|||\n”;
man[4]=“--\n o| \n/| \\n | \n | | | | | | | | | | | | | | | | |;
man[5]=“--\n o| \n/| \\n/| \\n | \\n | \\u | \\n”;
man[6]=“--\n o| \n/\\\\\\\n/\\\\\\\\\\\n\uuuuu\n”;
字符串arr[]={“serhat”、“cagatay”、“begum”、“emre”、“berk”、“ali”、“veli”、“伊斯坦布尔”,
“安卡拉”、“梅尔辛”、“伊兹密尔”、“安塔利亚”、“纽约”、“桑桑”、“凯迪”、“科佩克”,
“kus”、“ayi”、“bocek”、“karinca”、“manda”、“masa”、“pencil”、“bag”、“clock”、“TV”、“book”、“glass”};
int arr1[]={6,7};
System.out.println(“0停止,1继续”);
category=input.nextInt();
while(类别!=0){
System.out.println(“0停止,1继续”);
字符串字=arr[r.nextInt(arr.length)];

for(int i=0;i去掉下面的for循环。它除了抛出数组索引越界错误之外没有任何作用。您的程序运行时没有它。请确保实践语言的最佳实践(例如命名变量的camelCase)。它使您的代码更容易让人理解

for(int i=0; i<arr.length;i++) {
    if(arr[i]==word){
        int letterlength=arr1[i];
    }
    //letterlength-existedlength=guessremain;
}

for(int i=0;我能回答我的问题来计算用户的总分吗?