如何使用BufferReader在JAVA中接受空格分隔的输入作为单独的输入

wj8zmpe1  于 2023-01-11  发布在  Java
关注(0)|答案(1)|浏览(184)

我尝试使用Scanner类读取代码中的空格分隔输入5 3,使用nextInt()方法可以很好地工作。当我切换到BufferReader类以获得更快的I/O时,使用readLine()不接受空格分隔输入作为单独的整数。

import java.util.*;
import java.lang.*;
import java.io.*;

public class Main
{
    public static void main (String[] args) throws java.lang.Exception
    {
    
    try{
        InputStreamReader r=new InputStreamReader(System.in);    
    BufferedReader br=new BufferedReader(r); 
    int t= Integer.valueOf(br.readLine());
    
    while(t-->0){
        
    int mel=Integer.valueOf(br.readLine());
    
    int ban=Integer.valueOf(br.readLine());
    
    System.out.println(cho(mel,ban));
    
        
    }
    }catch(Exception e){
        return;
    }
    
    }
    
    public static int cho(int m,int b)
    
    {
        if(m==0 || b==0 || (m==b))
        {
            return (m+b);
        }
        else
        {
           return m>b? cho((m-=b),b): cho(m,(b-=m));
            
           
            
        }
    }
}

x1米5英寸x1米6英寸
'我的输出2 5 3
...程序结束,退出代码为0。按ENTER退出控制台。

nhaq1z21

nhaq1z211#

Integer.valueOf(br.readLine());读取整行并将其解析为整数值,因此它只希望字符串中有一个整数值。如果要从由空格分隔的行中解析多个整数,则首先需要将其拆分(或使用regex搜索)。例如br.readLine().split(" ");,然后迭代字符串数组并将其解析为整数

相关问题