JAVA输入随笔
Posted stackneveroverflow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA输入随笔相关的知识,希望对你有一定的参考价值。
做题时经常遇到输入的问题,很麻烦
写一点点自己对于输入的随笔,以备后查
这里都以整数为例,其他类型的话换成相应方法就行了
1、知道一共多少行,每一行只有一个整数
这是比较简单的输入,可以用Scanner或者BufferedReader读,需要的话再进行强制转换
Scanner sc = new Scanner(System.in); for(int i=0;i<n;i++){ int x = sc.nextInt(); }
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in)); for(int i=0;i<n;i++){ int x = Integer.parseInt(sc.readLine().trim()); }
2、不知道一共有多少行,每一行只有一个整数
Scanner sc = new Scanner(System.in); while(sc.hasNextInt()){ int x = sc.nextInt(); }
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in)); String s; while((s=sc.readLine())!=null){ int x = Integer.parseInt(s.trim()); }
3、输入只有一行,有多个整数,不知道整数有多少个,它们之间用空格隔开,最后要把这些整数放入一个数组
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in)); String[] s = sc.readLine().trim().split("\s+"); int[] a= new int[s.length]; for(int i=0;i<s.length;i++){ a[i]=Integer.parseInt(s[i]); }
4、输入只有一行,有多个整数,提前知道整数有多少个(比如5个),它们之间用空格隔开,最后要把这些整数放入一个数组
Scanner sc = new Scanner(System.in);
int[] a= new int[5]; int i=0; while (sc.hasNextInt()) { a[i++]=sc.nextInt(); }
5、输入有多行,整数之间由各种符号隔开(包括换行符),我们需要取得所有整数构成数组。我们提前知道一共需要多少整数(比如6个)
Scanner sc = new Scanner(System.in); sc.useDelimiter(Pattern.compile("\D+")); int x,count=0; int[] a= new int[6]; while(count<6){ x = sc.nextInt(); a[count++]=x; }
以上是关于JAVA输入随笔的主要内容,如果未能解决你的问题,请参考以下文章