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输入随笔的主要内容,如果未能解决你的问题,请参考以下文章

JAVA输入随笔

java代码在片段活动中不起作用

String java问题随笔

Java核心技术卷阅读随笔--第7章异常断言和日志

Java排查问题随笔

java随笔1