使用BufferedReader的readline()输入arraylist

萨格尼克·达斯

我正在尝试使用BufferedReader接受输入并将其添加到arraylist中。该代码正在无休止地输入,并且没有前进到其他行(没有退出for循环)。请找到我的以下代码:

public class ALinput {
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int n2 = br.read();// number of items in the list

            ArrayList<String> list2 = new ArrayList<String>();
            for(int i =1;i<=n2;++i)
            {
                list2.add(br.readLine());
            }

            System.out.println(list2);//printing list before sorting
            Collections.sort(list2);//sorting the list
            System.out.println("After sorting "+list2);

}
}

我将n2作为数组列表中的元素数。如果输入n2 = 5; 在将5个字符串添加到arraylist之后,readLine会不断进行文本输入而不会退出。它不会退出for循环。请帮助我了解我在这里所做的错误。

有趣的怪胎

实际上并不会永远持续下去,零的字符代码是48,一个是49,两个是50,依此类推。因此,当您输入5时,计算机将读取它的字符值,并将n2存储为53,让我们输入52个输入。为什么用52代替53?还有第二个错误,br.read()只看输入的第一个字节,所以是一个字符。第一次br.readLine()调用时,它会完成读取您键入的第一个数字之后的行内容的操作。要解决这些问题,只需进行更改

int n2 = br.read();

int n2 = Integer.parseInt(br.readLine());

和瞧!完毕!PS,您可能希望将其包含Integer.parseInt()在try catch块中,以防用户输入数字以外的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取 BufferedReader.readLine() 等待输入

来自分类Dev

使用bufferedReader进行输入

来自分类Dev

使用 BufferedReader 输入字符

来自分类Dev

在while循环中使用的BufferedReader readLine

来自分类Dev

使用 bufferedReader.readLine() 从我的 Socket 输入流中读取,它抛出一个 SocketException 说明“连接重置”

来自分类Dev

BufferedReader readLine检测关闭的套接字并使用.ready()

来自分类Dev

使用BufferedReader(readLine())检查更多值时如何停止NullPointerException

来自分类Dev

使用Java作为BufferedReader Readline()从Google云存储流式传输

来自分类Dev

使用BufferedReader(readLine())检查更多值时如何停止NullPointerException

来自分类Dev

取消 BufferedReader 的 readLine()

来自分类Dev

BufferedReader readLine 返回 null

来自分类Dev

在ArrayList中使用BufferedReader的随机方法

来自分类Dev

Java:使用BufferedReader输入多个空格

来自分类Dev

BufferedReader.readline()阻止输出

来自分类Dev

为什么使用 BufferedReader 将数字输入值相加?

来自分类Dev

使用BufferedReader

来自分类Dev

使用Console.ReadLine()从用户读取三个输入

来自分类Dev

Bufferedreader.readline()导致无限循环

来自分类Dev

BufferedReader在readLine中没有阻塞

来自分类Dev

BufferedReader readLine()具有奇怪的字符

来自分类Dev

BufferedReader还不为null .readLine()返回null

来自分类Dev

为什么BufferedReader readLine读取EOF之后

来自分类Dev

Java bufferedReader readline 循环不会中断

来自分类Dev

使用readline()?

来自分类Dev

使用while循环在ArrayList中输入对象

来自分类Dev

用户使用关键字输入ArrayList

来自分类Dev

BufferedReader用空格分隔的输入

来自分类Dev

BufferedReader输入到双向链表

来自分类Dev

BufferedReader 取终端输入字符

Related 相关文章

  1. 1

    获取 BufferedReader.readLine() 等待输入

  2. 2

    使用bufferedReader进行输入

  3. 3

    使用 BufferedReader 输入字符

  4. 4

    在while循环中使用的BufferedReader readLine

  5. 5

    使用 bufferedReader.readLine() 从我的 Socket 输入流中读取,它抛出一个 SocketException 说明“连接重置”

  6. 6

    BufferedReader readLine检测关闭的套接字并使用.ready()

  7. 7

    使用BufferedReader(readLine())检查更多值时如何停止NullPointerException

  8. 8

    使用Java作为BufferedReader Readline()从Google云存储流式传输

  9. 9

    使用BufferedReader(readLine())检查更多值时如何停止NullPointerException

  10. 10

    取消 BufferedReader 的 readLine()

  11. 11

    BufferedReader readLine 返回 null

  12. 12

    在ArrayList中使用BufferedReader的随机方法

  13. 13

    Java:使用BufferedReader输入多个空格

  14. 14

    BufferedReader.readline()阻止输出

  15. 15

    为什么使用 BufferedReader 将数字输入值相加?

  16. 16

    使用BufferedReader

  17. 17

    使用Console.ReadLine()从用户读取三个输入

  18. 18

    Bufferedreader.readline()导致无限循环

  19. 19

    BufferedReader在readLine中没有阻塞

  20. 20

    BufferedReader readLine()具有奇怪的字符

  21. 21

    BufferedReader还不为null .readLine()返回null

  22. 22

    为什么BufferedReader readLine读取EOF之后

  23. 23

    Java bufferedReader readline 循环不会中断

  24. 24

    使用readline()?

  25. 25

    使用while循环在ArrayList中输入对象

  26. 26

    用户使用关键字输入ArrayList

  27. 27

    BufferedReader用空格分隔的输入

  28. 28

    BufferedReader输入到双向链表

  29. 29

    BufferedReader 取终端输入字符

热门标签

归档