我试图用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");
}
}
答案 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