对于输入,主要用到Scanner的方法,记得导入包 import java.util.Scanner或者import java.util.* ;这是一个用于扫描输入文本的新的实用程序;
Scanner 的两种方法:
方法1:
1、nextlnt():
只读取int值,就是只能读取整数类型的数据,如果输入了非整型的数据(浮点型字符串等)就会报错。
nextFloat()、nextDouble()这些也是以此类推,只能读取符合该类型的数据
2、next(相当于nextString)
只读空格之前的数据,并且在输入完成之后光标指向本行
3、nextLine
读取输入,包括单词之间的空格和除回车以外的所有符号。读取输入后,nextLine()将光标定位在下一行。
import java.util.Scanner;
public class Input1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个字符串(中间能加空格或符号)");
String a = input.nextLine();
System.out.println("请输入一个字符串(中间不能加空格或符号)");
String b = input.next();
System.out.println("请输入一个整数");
int c = input.nextInt();
System.out.println("按顺序输出abcdf的值:");
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
输出:
请输入一个字符串(中间能加空格或符号)
hsh 哈哈&* ¥¥
请输入一个字符串(中间不能加空格或符号)
jdj
请输入一个整数
2345
按顺序输出abcdf的值:
hsh 哈哈&* ¥¥
jdj
2345
方法2:
Scanner.hasnext()等判断是否有输入字符;
import java.util.Scanner;
public class Input2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //构造Scanner类的对象scan,接收从控制台输入的信息
System.out.println("请输入你的姓名");
String name = scan.nextLine();//接收一个字符串,可以加除Enter以外的所有符号,包括空格和Tab
System.out.println("请输入你的ID");
String ID ;
while(scan.hasNextLine()) {// hasNextLine()方法判断当前是否有输入,当键盘有输入后执行循环
if (scan.hasNextInt()) {// 判断输入的值是否为整数类型,当为整数类型时执行循环
ID = scan.nextLine();
System.out.println("你输入的姓名为:" + name);
System.out.println("你输入的ID为:" + ID);
break;
} else {
System.out.println("请输入数字哦!");
ID = scan.nextLine();
continue;
}
}
}
}
以例题来看
例题1:
import java.util.*;
public class Main{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a + b);
}
}
}
例题2:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
while(scanner.hasNext()){
int b=scanner.nextInt();
int c=scanner.nextInt();
System.out.println(b+c);
}
}
}
例题3:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int num1 = sc.nextInt();
int num2 = sc.nextInt();
if(num1==0&&num2==0) {
return;
}
System.out.println(num1+num2);
}
}
}
例题4:
import java.util.*;
public class Main{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
if(n == 0){
break;
}else{
int res = 0;
for(int i = 1; i<=n;i++){
res += sc.nextInt();
}
System.out.println(res);
}
}
}
}
例题5:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int a = input.nextInt();
while(input.hasNext()){
int res = 0;
int n = input.nextInt();
for(int i = 1;i <= n;i++){
res += input.nextInt();
}
System.out.println(res);
}
}
}
例题6:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int res = 0;
String[] str = sc.nextLine().split(" ");//把空格全切走了
for(int i = 0;i < str.length;i++){
res += Integer.parseInt(str[i]);//转换为整数
}
System.out.println(res);
}
}
}
从这里开始字符串
例题7:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
while(sc.hasNext()){
String[] str = sc.nextLine().split(" ");
Arrays.sort(str);
for(int i = 0;i < str.length;i++){
System.out.print(str[i]);
if(i != str.length-1){
System.out.print(" ");
}
}
}
}
}
例题8:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String[] str = sc.nextLine().split(" ");
Arrays.sort(str);
for(int i = 0;i < str.length;i++){
System.out.print(str[i]);
if(i != str.length-1){
System.out.print(" ");
}
}
System.out.println();//这一行能让它一直换到下一行
}
}
}
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){//只要键盘有输入,就一直能输入
String[] str = sc.nextLine().split(" ");//把空格全切走了
}