有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带扫描仪的java打印空间

我是essentiel,正在尝试制作一个电影猜谜游戏,有点像《刽子手》,但你需要猜一个电影标题。电影标题用下划线(“UUZ”)字符表示。当用户输入正确的字母时,相应字母位置的下划线将更改为该字母。用户使用扫描仪将其猜测输入为单个字符。 我的问题是,一些电影标题包含空格(“”)。但我无法使用扫描仪返回空间。。。我的猜测是,扫描程序使用空格作为默认分隔符,因此它不会将空格作为字符返回,因为它使用空格将输入拆分为标记

通过“返回一个空间”,我的意思是把一个空间看作一个输入,而不是一个定界符。

有谁能给我一个解决方案,如何从用户输入中检测空间

这段代码应该通读电影标题,然后如果电影标题在索引i处包含一个空格,并且用户输入是一个空格,那么codedMovieTitle应该在位置i处更新为一个空格,而不是下划线。然而,这不起作用。当我用扫描仪进入一个空间时,什么都没发生

    for (int i = 0; i < movieTitle.length(); i++) {       
            if(Character.isSpaceChar(movieTitle.charAt(i)) && 
            Character.isSpace(userInput)){
                    encodedMovieTitle = encodedMovieTitle.substring(0, i)
                    + userInput
                    + encodedMovieTitle.substring(i + 1);
            }
    }

这是我的扫描仪的代码:

    Scanner scanner = new Scanner(System.in);
    char userInput;
    while(!gameIsWon && (numberOfGuessesLeft != 0)) {
        while (scanner.hasNextInt()) {
            System.out.println("You must enter a single character, try again.");
            scanner.next();
        }
        userInput = scanner.nextLine().charAt(0);

我还在努力使我的扫描仪输入不区分大小写。有些电影里有大写字母。 如果标题是“暴风雪”,用户输入字符“s”,则生成的编码视频将是“___________________________

如果有人有解决方案那就太好了!我发现的大多数解决方案都涉及使用字符串,但我使用字符作为用户输入等,因此我想知道是否有一种解决方案涉及字符

检查用户输入(字符)是否在电影字幕(字符串)中的代码:

    for (int i = 0; i < movieTitle.length(); i++) {
            if (updatedCodedMovieTitle.charAt(i) != userInput && movieTitle.charAt(i) == userInput) {
                updatedCodedMovieTitle = updatedCodedMovieTitle.substring(0, i)
                                        + userInput
                                        + updatedCodedMovieTitle.substring(i + 1);
                wordHasBeenUpdated = true;
            }
            if(Character.isSpaceChar(movieTitle.charAt(i)) && Character.isSpaceChar(userInput)){
                updatedCodedMovieTitle = updatedCodedMovieTitle.substring(0, i)
                        + " "
                        + updatedCodedMovieTitle.substring(i + 1);
            }
        }

共 (0) 个答案