我正在尝试用 Java 编写一个基于文本的小型游戏。我以前用 C++ 写过这个,但我在 C++ 中使用了“getch()”,我不知道 java 的等价物是什么。我是相当新的,所以不是很有经验,但我能够学习。Java中是否有与“getch()”等效的Java?它需要返回密钥的 ASCII 值。想法?
问问题
10633 次
3 回答
3
您可以使用BufferedReader复制 getch()
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class myclass
{
public static void main(String[] args)
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Press Enter to continue");
try
{
int ascii = br.read();
System.out.println("ASCII Value - "+ascii);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
输出
Enter any character to continue
<press a then hit Enter>
ASCII Value - 97
于 2013-09-26T12:50:29.323 回答
0
通常,您从 System.in 读取输入。您可以通过多种方式从该流中读取数据,但一种选择是使用 java.util.scanner。
尝试类似:
import java.util.Scanner;
Scanner keyboard = new Scanner(System.in);
byte mybyte = keyboard.nextByte();
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html
于 2013-09-26T12:43:12.090 回答
0
你可能想要使用
InputStreamReader inStream = new InputStreamReader(System.in);
int charValue = inStream.read();
然后从那里打开字符值。
正如其他人提到的,Java 适用于 UTF-16,但对于字符 [a-zA-z0-9] 和普通标点符号,您不会注意到区别。
InputStreamReader的 Javadoc:InputStreamReader Javadoc
于 2013-09-26T12:49:00.163 回答