java【三】之键盘输入以及acm的多组输入
所有的努力,不是为了让别人觉得你了不起,
而是为了能让自己打心里看得起自己。
我知放弃不易 ,但坚持一定很酷!!!
书写是对思维的缓存!!!
对于大部分学过C++,C的同学来说,可能有一点陌生,java是一门面向对象的语言 ,所以它的输入并不是先定义一个变量,再cin它;java没有提供诸如C/C++中的scanf输入函数,因此从键盘输入并不是一个简单的事情,为了方便起见,我今天在这里总结一下java之键盘输入以及acm的多组输入。我在这里仅介绍一种比较常见的输入方式。希望对大家有用!
首先我们要导入一个Scanner类:
import java.util.Scanner //或者
import java.util.* //这里*可以看成一个退位符
下面就给大家具体演示一下:
先解释一下关于Scanner类吧!
在Java SE 6及以上,可以使用Scanner类取得用户的输入,Scanner类位于java.util包中,如果你要使用Scanner取得用户输入的话,要加上 import java.util.Scanner;这条语句.import的功能是告诉编译器,你将使用java.util包中的Scanner类。
new是创建一个对象,程序中new的意思是创建了一个Scanner类的对象scan。但是在创建Scanner类的对象时,需要用System.in 作为它的参数,也可以将Scanner看作是System.in对象的支持者,System.in取得用户输入的内容后,交给Scanner来作一些处理。
------------------------------------------------------------------------------------------------------------------
Scanner类中提供了多个方法:
---------------------------------------------------------------------------------------------------------------------
next():取得一个字符串; nextLine() 获取一行字符串;
nextInt():将取得的字符串转换成int类型的整数;
nextFloat():将取得的字符串转换成float;
nextDouble();将获取的字符串转化为double型;
nextBoolean():将取得的字符串转换成boolean型;
****************************************************************************************************
ps:其实好多同学可能不能分清楚next()和nextLine()的区别
下面就有两者的区分详解:
用Scanner获得用户的输入非常的方便,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键 时,Scanner就会返回下一个输入.。所以用nextLine()方法;
Scanner类中next()与nextLine()方法的区别:next()与nextLine()区别很明确,next() 方法遇见第一个有效字符(不是空格和换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,也就是说使用next()方法获得的是不含空格和换行符的单个字符串。而使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。
下面就是一些代码的验证:
- 先验证两种不同的类的导入:
// 第一种:
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.next();
char[] array=str.toCharArray(); //使用toCharArray();可以将字符串转换为字符数组
int len=str.length();
for(int i=0;i<len;i++)
{
System.out.print(array[i]+" ");
}
System.out.print("\n");
}
}
// 第一种输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64401 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
imissyouqiuqiu
i m i s s y o u q i u q i u
Process finished with exit code 0
// 第二种
import java.util.*;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.next();
char[] array=str.toCharArray(); //使用toCharArray();可以将字符串转换为字符数组
int len=str.length();
for(int i=0;i<len;i++)
{
System.out.print(array[i]+" ");
}
System.out.print("\n");
}
}
// 输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64442 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
IMISSYOUQIUQIU
I M I S S Y O U Q I U Q I U
Process finished with exit code 0
- 再为大家验证next与nextLine的区别:
// next();
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.next();
char[] array=str.toCharArray(); //使用toCharArray();可以将字符串转换为字符数组
int len=str.length();
for(int i=0;i<len;i++)
{
System.out.print(array[i]+" ");
}
System.out.print("\n");
}
}
// 输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64502 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
I LOVE CHINA
I
Process finished with exit code 0
// nextLine();
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.nextLine();
char[] array=str.toCharArray(); //使用toCharArray();可以将字符串转换为字符数组
int len=str.length();
for(int i=0;i<len;i++)
{
System.out.print(array[i]);
}
System.out.print("\n");
}
}
// 输出结果:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64664 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
I miss you
I miss you
Process finished with exit code 0
- nextLine();
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.nextLine();
char[] array=str.toCharArray(); //使用toCharArray();可以将字符串转换为字符数组
int len=str.length();
for(int i=0;i<len;i++)
{
System.out.print(array[i]);
}
System.out.print("\n");
int t=input.nextInt();
System.out.println(t);
}
}
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=64921 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
球球,一路有你,真好!
球球,一路有你,真好!
20200830
20200830
Process finished with exit code 0
- 其他类型:
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.nextLine();
char[] array=str.toCharArray(); //使用toCharArray();可以将字符串转换为字符数组
int len=str.length();
for(int i=0;i<len;i++)
{
System.out.print(array[i]);
}
System.out.print("\n");
int t=input.nextInt();
System.out.println(t);
double a=input.nextDouble();
System.out.println(a);
float m=input.nextFloat();
System.out.println(m);
}
}
// 输出
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65054 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
遇见你真好!@qiuqiu
遇见你真好!@qiuqiu
20190830
20190830
11.21
11.21
11.35
11.35
Process finished with exit code 0
acm之多组输入:
- acm之多组输入:
// 多组输入之字符串
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
while(input.hasNext())
{
String a=input.nextLine();
String b=input.nextLine();
System.out.println(a+b);
}
}
}
// 输出
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65305 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
我们跨过山河
在湖中大 相遇 真好
我们跨过山河 在湖中大 相遇 真好
i miss you
i love china
i miss you i love china
// 多组输入之实数
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
while(input.hasNext())
{
int a=input.nextInt();
double b=input.nextDouble();
System.out.println(a+" "+b);
}
}
}
// 输出结果
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65414 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
20190830
8.30
2190830 8.3
15115
4156.262
15115 4156.262
- acm之T组输入:
// 实型数据之T组输入
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
int t=input.nextInt();
while(t>0)
{
int a=input.nextInt();
double b=input.nextDouble();
System.out.println(a+" "+b);
t--;
}
}
}
// 输出结果
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=65482 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
5
20190830
8.30
20190830 8.3
155 2.3
155 2.3
45 926.31
45 926.31
15 2.3
15 2.3
151 3.2
151 3.2
Process finished with exit code 0
// 字符串之T组输入
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
int t=input.nextInt();
while(t>0)
{
String a=input.next();
System.out.println(a);
t--;
}
}
}
// 输出:
D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=49263 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test
5
在最美的年纪
在最美的年纪
遇见最美的你
遇见最美的你
是最美的风景
是最美的风景
胖桢,球球,周净,谭冉,215
胖桢,球球,周净,谭冉,215
奋斗的风景才说最美的
奋斗的风景才说最美的
Process finished with exit code 0