使用由扫描仪创建的字符

时间:2014-05-04 17:55:40

标签: java methods char

我试图用Java制作一个基本的文字游戏。我决定只是从游戏机上制作游戏,因为这是我知道的唯一方式。我尝试使用字符来查看用户键入的内容是否包含位置0处的字母h,当我在main方法中尝试它时它工作正常,但是当我将其称为a时,它不起作用单独的方法。

    import java.util.Scanner;



    public class testing
    {

static Scanner kb = new Scanner(System.in);

public static void main(String[] args)
{
    System.out.println("Wanna start the game?");
    System.out.println("1. Start");
    System.out.println("2. Quit");
    int ans = kb.nextInt();

    if(ans == 1)
    {
        levelOne();
    }

    else
        System.out.println("Quitting");
}

public static void levelOne()
{
    System.out.println("Type something");
    char letter = kb.nextLine().charAt(0);
    if(letter == 'h')
    {
        System.out.println("contains h");
    }
    else
        System.out.println("does not contain h");
}

}

2 个答案:

答案 0 :(得分:0)

因为nextInt不使用任何非数字输入,所以在调用nextLine之前需要使用方法传递的换行符

kb.nextLine(); // added
char letter = kb.nextLine().charAt(0);

答案 1 :(得分:0)

首先删除空格然后获取角色

char letter = kb.nextLine().trim().charAt(0);

输入1 hello

hello

之前注意空格

输出:

Wanna start the game?
1. Start
2. Quit
1  hello
Type something
  hello
does not contain h