java - 如何在java中使用System.in.read()?

标签 java arrays inputstream

我需要在 boolean 二维数组中输入并加载一些字符。如果字符为X,则将数组元素标记为true;否则,如果 char 为 .,则将数组元素标记为 false。

这是我的设计:

boolean[][] Array = new boolean[2][2];

for (int i = 0; i < 2; i++) {  
   for (int j = 0; j < 2; j++) {
        if (System.in.read() == '.') {
            Array[i][j] = false;
        } else if (System.in.read() == 'X') {
            Array[i][j] = true;
        }
    }
}

例如,如果我输入 ....XXXX,它不会产生正确的结果。对于其他输入,结果也不正确。

那么该如何处理呢?

最佳答案

如果第一个字符不是 '.',则您将在循环中第二次读取字符。

每个循环只能读取一个字符。将字符保存在 if 语句之前的变量中,然后将该变量依次与 '.''X' 进行比较。

关于java - 如何在java中使用System.in.read()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22644811/

相关文章:

java - 如何在java中升/降整数

java - 将 java awt 小程序转换为 flash/flex

java - 井字游戏使用方法java

java - 如何从 JSONArray 解析 JSON 对象?

Java无限数组

java - 使用 ini4j 的单例模式

java - 使用InputStream下载大文件

java - 在 XML spring 配置文件中转义双引号

java - Android 开发字符串数组资源太大,导致 Android 应用程序崩溃!

java - 如何将任何图像转换为 JPG?