java的bufferedreader读字符

请问bufferedreader在java算法中怎么使用,因为算法中输入的数组一般只有用空格隔开,而bufferedeader又只能一行一行输入,请问有什么解决办法吗

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你看下这篇博客吧, 应该有用👉 :解决 java BufferedReader.readLine()方法按行读取文件内容中文乱码的问题
  • 除此之外, 这篇博客: Java 键盘输入数字(空格隔开) 将数字存入数组中的 BufferedReader方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    首行输入数组大小,次行输入数组内容,依次用空格隔开。
    它的优势在于消耗比scanner更少的内存和时间,如果在写算法时优先使用BufferedReader方法。
    注意:使用完记得close,Scanner方法不需要close。

    public static int[] ListInput() throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	int N = 0;
    	String str = null;
        N= Integer.parseInt(br.readLine());
    	str = br.readLine();		
    	br.close();
    	int[] myList = new int[N];
    	String[] strArray = str.split(" ");	
    	for (int i = 0; i < N; i++) {
    		myList[i] = Integer.parseInt(strArray[i]);
    	}
    	return myList;
    }
    ···
    
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

读入一行之后,按空格分隔
字符串的split方法

你可以参照一下代码学习下,

public static void main(String[] args){
        //创建字符数组
        char[] arr = {'a','b','c','d','e'};
        
        //创建字符数组输入流
        CharArrayReader car = new CharArrayReader(arr);
        
        //创建BufferedReader缓冲流
        BufferedReader br = new BufferedReader(car);
        
        //通过BufferedReader缓冲流读取字符数组
        try{
            String str = null;
            while((str=br.readLine())!=null)
                System.out.println(str);
            br.close();
        }catch(IOException e){
            e.printStackTrace();
        }
}