使用输入流Scanner cin = new Scanner(System.in);
导入包 import java.util.Scanner;
1.整型的输入
int n;
n = cin.nextInt();
2.不含空格的字符串的输入
String s = new String();
s = cin.next();
3.输入一行字符串(包含空格)
String s = new String();
s = cin.nextLine();
注意:
先使用cin.nextInt(),紧接着使用cin.nextLine()时,应注意cin.nextInt()之后的空格会被cin.nextLine()当做一行读入。
例如输入这样的用例:
3
ajsdi sdoi
ajdoed doe
ajedoe oed
如果直接这样:
n = cin.nextInt();
for(int i=0;i<n;i++)
{
s[i] = cin.nextLine();
}
结果只能读入n-1行字符串。
原因是cin.nextInt()只读入某个整数,而不读整数后面的换行符,从而这个换行符被cin.nextLine()当做一行字符串读入。
解决方案
只需在n = cin.nextInt();后面加上cin.nextLine();即可。
n = cin.nextInt();
cin.nextLine();//用于接收换行符
for(int i=0;i<n;i++)
{
s[i] = cin.nextLine();
}