2015年6月29日 星期一

[Java]讀取鍵盤輸入

Java裡面讀取鍵盤輸入的方法有兩種,一種是Scanner,一種是InputStreamReader


首先我們先介紹Scanner
Scanner可以生成一個物件然後用.next方法輸入string,或是用.nextInt方法等等輸入不同的資料型別。這方法會有一個

import java.util.Scanner;

public class scannerDemo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.println("Please type some words:");
String str = input.next();
System.out.println("The words you have typed is:"+str);

System.out.println("Please type an integer x:");
int x = input.nextInt();
int sum=0;
for(int i=1;i<=x;i++){
sum=sum+i;
}
System.out.println("The sum of 1 to x is:"+sum);
input.close();

}

}



再來是InputStreamReader
因為要使用一次讀一行的指令所以需要用到BufferReader
new BufferedReader(new InputStreamReader(System.in))這種語法其實是要看成
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader bfr  = new BufferedReader(isr);兩行
不過這種寫成一行的語法沒有isr可以用就是了(雖然也沒有要用),
這方法按ctrl+z可以終止輸入。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class inputStreamReaderDemo {

public static void main(String[] args) throws IOException {
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Input string and exit by ctrl+z");
String str = bfr.readLine();

//while intput "ctrl+z" the program will stop
while(str!=null){
System.out.println(str);
str = bfr.readLine();
}
System.out.println("End of input");
bfr.close();


}

}

沒有留言:

張貼留言