首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在接受下一个输入之前,Java中的for循环运行3次

在接受下一个输入之前,Java中的for循环运行3次
EN

Stack Overflow用户
提问于 2014-05-18 08:44:59
回答 1查看 2.5K关注 0票数 15

我刚开始学习Java并学习它。我正在尝试一段代码,以了解for-each循环在Java中是如何工作的。但在这方面我遇到了一个问题。我的代码很简单:

代码语言:javascript
复制
class ForEach
{
public static void main(String[] args) throws java.io.IOException
{
    char[] array = new char[10];

    for(int i = 0; i < 10; i++)
    {
        System.out.println("Enter Character " + i);
        array[i] = (char)System.in.read();
    }

    System.out.println("Displaying characters in array : ");

    for(char i : array)
    {
        System.out.println(i);
    }
}
}

但是输出是很尴尬的。我肯定我的代码有问题。我找不到它。此代码的输出是:

代码语言:javascript
复制
Enter Character 0
a
Enter Character 1
Enter Character 2
Enter Character 3
b
Enter Character 4
Enter Character 5
Enter Character 6
c
Enter Character 7
Enter Character 8
Enter Character 9
d
Displaying characters in array :
a


b


c


d

我不明白为什么for循环在接受用户的另一个输入之前运行三次?

有什么帮助吗?提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2014-05-18 08:53:11

来自Java

从输入流读取下一个字节的数据。

当您键入a,后面跟着换行符时,实际上有三个字节要读取(我猜a后面是回车和换行符)。因此,您提供的输入足以让read()运行三次迭代。

我建议您使用Scanner进行输入阅读。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23720118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档