目录
1、输入整数、字符串数组
2、输入二维数组
3、输入字符串
4、输入字符串分割为数组
5、连续输入数字和字符串
6、换行输入数字和字符串
7、换行输入数字和字符串(需要包含空格)
第一行输入n, m
第二行输入n个整数
第三行输入m个字符串
//导入包
import java.util.Scanner;
import java.util.Arrays;
public class MyScanner {
public static void main(String[] args) {
//创建对象
Scanner sc = new Scanner(System.in);
System.out.println("输入数据:");
//多行输入
int n = sc.nextInt();
int m = sc.nextInt();
int[] arr = new int[n];
String[] str = new String[m];
//int等基本数据类型的数组,用nextInt(),同行或不同都可以
for(int i=0; i
若输入的字符串中想要包含空格,使用scanner.nextLine()换行后用scanner.nextLine()进行读入,见情形7.
第一行输入n, m
第二行开始输入二维数组。
import java.util.Arrays;
import java.util.Scanner;
public class MyScanner2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入数据:");
//二维数组
int n = sc.nextInt();
int m = sc.nextInt();
int[][] arr2 = new int[n][m];
System.out.println("Test02 输入二维数组数据:");
//可以直接读入
for(int i=0; i
输入字符串,用空格隔开。
next()和nextLine()区别。
import java.util.Scanner;
/*
*next()读取到空白停止,在读取输入后将光标放在同一行中。
*nextLine()读取到回车停止 ,在读取输入后将光标放在下一行。
*/
public class MyScanner3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入字符串:");
//next():只读取输入直到空格。
String str = sc.next();
//nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号
String str2 = sc.nextLine();
System.out.println("str:" + str);
System.out.println("str2:" + str2);
//关闭
sc.close();
}
}
先用scanner.nextLine()读入字符串,再将字符串分割为字符数组或字符串数组。
import java.util.*;
public class MyScanner4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入字符串数组:");
String str;
str = sc.nextLine();
char[] ch = new char[str.length()];
for(int i=0; i
区别于情形1,对于不能采用for循环的方式获取String。采用情形5,6用来处理。
采用while(scanner.hasNext()) 循环,实现连续输入。
格式:数字,空格,字符串。
或: 数字,回车,字符串
import java.util.Scanner;
public class MyScanner5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int n = sc.nextInt();
String str = sc.next();
Tes(n, str);
}
sc.close();
}
public static void Tes(int n, String str) {
System.out.println("n = " + n);
System.out.println("str = " + str);
System.out.println("str.length = " + str.length());
}
}
也采用scanner.nextLine(),将光标移到下一行。再继续读入字符串。
第一行输入整数n,m,第二行开始输入字符串。或
第一行输入整数n,第二行输入m,第三行开始输入字符串。
import java.util.*;
public class MyScanner6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
//注意!!!光标换到下一行
sc.nextLine();
String s = sc.nextLine();
String str = sc.nextLine();
System.out.println("n = " + n + " , m = " + m);
System.out.println("s = " + s);
System.out.println("str = " + str);
sc.close();
}
}
采用scanner.nextLine(),将光标移到下一行。再继续读入字符串。
第一行输入n,
第二行开始输入n行字符串,字符串中包含空格。
import java.util.Scanner;
public class MyScanner7 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] strs = new String[n];
sc.nextLine();
for(int i=0; i