一、從控制台輸入一個字元、并且把它列印出來。
package com.cn.in;
import java.io.IOException;
public class ex1 {
public static void main(String[] args) throws IOException {
System.out.print("Enter a Char:");
//輸入一個字元
char i = (char) System.in.read();
System.out.println("your char is :"+i);
}
}
二、從控制台輸入一個字元串、并且将其列印出來。
package com.cn.in;
import java.io.*;
public class ex2 {
public static void main(String[] args) throws IOException {
//InputStreamReader 轉換流
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=null;
System.out.println("請輸入:");
str=br.readLine();
System.out.println("你輸入的内容為:"+str);
}
}
注:
str=br.readLine()的作用是将鍵盤上讀取的資料作為字元串處理,如果想讀取單個字元,需要将str聲明為char類型,然後再使用read()語句進行讀取,即:str=(char)br.read();
package com.cn.in;
import java.io.*;
public class ex1 {
public static void main(String[] args) throws IOException {
//InputStreamReader 轉換流
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
char c;
System.out.println("請輸入:");
c=(char)br.read();
System.out.println("你輸入的内容為:"+c);
}
}
三、通過Scanner類。
package com.cn.in;
import java.util.Scanner;
public class ex3 {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
int num;//可以是其他類型
num=reader.nextInt();//調用reader的相應方法
System.out.println("輸入的内容是:"+num);
}
}
注:
取單個字元也可以這樣處理:
Scanner sc=new Scanner(System.in);
char c = sc.next().charAt(0);
next()、nextLine()方法的差別:
next() :從控制台輸入的第一個有效字元開始讀取,輸入字元(串)前面和後面的Tab、空格、回車都不讀取
nextLine() :讀取輸入的全部字元,以回車作為結尾(不讀取回車),字元(串)中的Tab、空格都會被讀取。
下面來看一個例子:
package com.cn.in;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
String str1=null;
String str2=null;
Scanner sc=new Scanner(System.in);
System.out.print("請輸入第一個字元串:");
str1=sc.nextLine();
System.out.println("輸入的字元串是:"+str1);
System.out.print("請輸入第二個字元串:");
str2=sc.next();
System.out.println("輸入的字元串是:"+str2);
}
}