/**
* 利用Scanner和BufferedReader从键盘(System.in)读入数据
* 注意:不能调用(Scanner)in.close()或(BufferedReader)bin.close()--因为System.in被关闭,就不能访问了,得不到读入数据-----疑问:怎么再次打开呢
*/
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
/**
* @param args
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//int i = 1.5;//不会自动转
int i = 'c';//少位转多位,自动转
System.out.printf("%02d\n",i);
int a = 7;
System.out.printf("%02d\n",a);
Scanner in = new Scanner(System.in);
ArrayList<Integer> arr = new ArrayList<Integer>();
int t = 0;
while(in.hasNext()){//hasNext()就开始等待输入了----enter结束一次输入
t = in.nextInt();//获得之前输入的整数
arr.add(Integer.valueOf(t));
System.out.println(t);
if(t<0)break;
}
System.out.println(arr.toString());
//in.close();不能关闭,否则 :Stream closed或java.util.NoSuchElementException
/* BufferedReader bin = new BufferedReader(
new InputStreamReader(
System.in));
System.out.println(bin.readLine());
//bin.close();不能关闭,否则error: Stream closed
BufferedReader bin2 = new BufferedReader(
new InputStreamReader(
System.in));
System.out.println(bin2.readLine());
//bin2.close();不能关闭,否则----java.util.NoSuchElementException
*/
/*Scanner scc = new Scanner(System.in);
System.out.println(scc.hasNext());//hasNext()就开始等待输入了
*/
System.out.println("-----------");
Scanner sin = new Scanner(System.in);
//System.out.println(sin.hasNext());
//if(sin.hasNextInt()){
int at = sin.nextInt();//因为Scanner in结束时的enter影响,这里sin会将enter读入,结果sin.hasNextInt()返回false
sin.close();
System.out.println("at: " + at);
//}
//连续hasNext..()不影响nextInt()的取值
}
}
利用Scanner和BufferedReader从键盘(System.in)读入数据
最新推荐文章于 2020-09-11 09:57:53 发布