赞
踩
可以通过牛客相关OJ活动进行练习,链接:https://ac.nowcoder.com/acm/contest/5652#question
方法1:
Scanner sc = new Scanner (new BufferedInputStream(System.in));
方法2:
Scanner sc = new Scanner (System.in);
在读入数据量大的情况下,方法1的速度会快些。
判断是否有下一个输入可以用sc.hasNext()
或sc.hasNextInt()
或sc.hasNextDouble()
或sc.hasNextLine()
读一个整数:
int num= sc.nextInt();
读一个字符串:
String str= sc.next();
读一个浮点数:
double dou= sc.nextDouble();
读一整行:
String lin= sc.nextLine();
import java.io.*; import java.util.*; public class Main{ public static void main(String[] args)throws Exception{ //输入模块 Scanner sc=new Scanner(new BufferedInputStream(System.in)); int a=0,...; //判别模块 while(sc.hasNext()){ //读取模块 a=sc.nextInt(); ... //上面根据需求修改读取模块代码 System.out.println(输出结果);//该处是为了防止整数整数越界设置的,可以根据需求更改输出 } }
这里括号里可以添加终止条件字符/字符串,变成 while(!sc.hasnext("终止字符串"))
格式,遇到终止字符实现跳出循环
BufferedReader bu=new BufferedReader(new InputStreamReader(System.in));
遇到空输入就直接跳出读取循环(这里str声明什么的到后面模板会看到)
(str=bu.readLine())!=null
针对一行多个数据的情况下,这里首先必须添加split方法对数据进行分割。
String[] tmp=str.split("分割符");
或者
bu.readLine().split("分割符");
生成的格式是字符串数组的格式,这里就按照数组读取的格式将数组转化成自己想要的格式
基本类型 变量名=包装类.parsexxx;//这里自行查找,因为暂时没找到比较全的总结素材····
import java.io.*; import java.util.*; public class Main{ public static void main(String[] args) throws IOException{ //输入模块 BufferedReader bu=new BufferedReader(new InputStreamReader(System.in)); String str; //判别模块 while((str=bu.readLine())!=null){ //终止模块 if(str.equals("终止字符串")) break; //分割模块 String[] tmp=str.split("分割字符串"); //读取模块,下面以整数数组为例 int l=Integer.parseInt(tmp[0]); System.out.println(l); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。