</pre><pre name="code" class="java">package shujujiegou;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class scanner {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in); // 1.建立scanner输入流, 记得导入 java.util.Scanner包
String str1= sc.next(); //第一次控制台输入
String str2=sc.next(); //第二次控制台输入
System.out.println(str1); //输出第一个
System.out.println(str2); //输出第二个
/* BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));*/
/*
* 这点要注意了, 运行程序, 发现输入
* 1 2
* 以空格隔开
* 1会存储在 str1中, 2会存储在str2中
* 这点就是scanner 最大的好处, 会在一行的输入数据中以空格来分别存储变量,
*/
System.out.println(sc.hasNext()); //这句代码从字面上的意思就是 sc这个对象是否还有下一个数据,很显然 1 2 都分别存储在了 str1 和str2 中,没有数据了所以输出的是false
//但是如果你 输入的是 1 2 3 此时就是true了, 因为 1 2 都分别存储在了 str1 和str2 中,但是 3 没有存储, 就还有数据, 所以是true 。
// 至于多次输入。 可以这样
Scanner sc2= new Scanner(System.in); //建立输入scanner对象
int count=sc2.nextInt(); // 确定重复输入次数 count
String str[]=new String[count];//提前做一个准备, 将要输入的数据存入 字符串类型的str数组中, 长度当然等于你重复输入的次数 count 了
for (int i = 0; i <count; i++) { //一个for 循环, count等于多少,就重复几次
str[i]=sc2.next();//将数据存入str数组中, 第一次循环是 str[0]=sc2.next() , 第二次是 str[1]=sc2.next(), 一直到 str[count-1]=sc2.next(),
//为什么是count-1 ,因为数组是下标从 0 开始的 str[0] str[1] str[3] 长度为count为3 ,
}//至此, 重复输入次数达到了, 数据也全部存入str数组了
//下面代码是输出存储的数据
for (int i = 0; i < str.length; i++) {
System.out.print(str[i]+" ");
}
}
}
/*
* @张贝贝 要加油!
*
* 下面是测试
*
*
*
输入 1 2 3
输出 1
2
true
输入 5 1 1 1 1 1
输出1 1 1 1 1
*/
scanner
最新推荐文章于 2024-06-03 20:28:17 发布