【问题标题】:error reading in char in java [closed]在java中读取char时出错[关闭]
【发布时间】:2017-08-02 05:42:03
【问题描述】:
char grid[][] = new char[size][size];
for(int j = 0; j < size; j++)
{
    for(int k = 0; k < size; k++)
    {
        grid[j][k] = in.next().charAt(0);
    }
}

我在 in.next().charAt(0) 行中遇到错误。我正在阅读由字符组成的网格。我并不真正了解如何阅读字符,但是我在另一个线程上发现了这一点。在网格中阅读时,是否有理由无法阅读这样的字符?可视化我的输入如下:

asdfv
sdsaf
asfdf
asfaf
asfdf

大小也是 5;提前谢谢你。

【问题讨论】:

  • 对象是什么类型的?
  • “我遇到了一个错误” - 那么错误是什么?

标签: java char java.util.scanner


【解决方案1】:

您只使用了每行输入的第一个字符。

例如,第一个 in.next() 读取“asdfv”String,但您只将 String 的第一个字符分配给您的数组并丢弃其余字符。

您可以将代码更改为:

char grid[][] = new char[size][size];
for(int j = 0; j < size; j++)
{
    grid[j] = in.nextLine().toCharArray();
}

这样grid[j] 将使用完整输入行的字符进行初始化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-08
    • 2012-12-15
    • 2011-09-28
    相关资源
    最近更新 更多