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
喜欢的话,就点个赞吧!!!