關於Scanner類的用法----用Scanner接收兩個數和一個符號完成相應運算
jdk5.0後增加了Scanner類,可以從控制檯讀入資料。在jdk5.0前,用io流從控制檯讀入資料。
Scanner類util包下的一個類,Scanner是一個可以使用正則表示式來解析基本型別和字串的簡單掃描文字器,
Scanner
使用分隔符模式將其輸入分解為標記,預設情況下該分隔符模式與空白匹配。然後可以使用不同的 next 方法將得到的標記轉換為不同型別的值。
例如,以下程式碼使使用者能夠從 System.in 中讀取一個數:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
再看一個例子,以下程式碼使 long 型別可以通過 myNumbers 檔案中的項分配:
while (sc.hasNextLong()) {
long aLong = sc.nextLong();
}
掃描器還可以使用不同於空白的分隔符。下面是從一個字串讀取若干項的例子:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close(); 輸出為:
1
2
red
blue
先貼一段程式碼
//匯入java.util包的Scanner類
import java.util.Scanner;
/**
* 從鍵盤接收兩個數和一個符號,完成相應的運算
* @author Angela
*
*/
public class Demo2 {
/**
* @param args
*/
public static void main(String[] args) {
//建立Scanner類的物件
Scanner input = new Scanner(System.in);
System.out.println("請輸入第一個數:");
//從鍵盤讀入一個整數
String temp = input.nextLine();
//將字串轉換成整數
int num1=Integer.parseInt(temp);
System.out.println("請輸入(+.-,*,/中的一個符號)");
//讀入一個字串
String opertor=input.nextLine();
System.out.println("請輸入第二個數:");
//從鍵盤讀入第二個整數
temp = input.nextLine();
//轉換
int num2=Integer.parseInt(temp);
int result=0;
//比較字串是否相等需要用字串的equals方法
if("+".equals(opertor)){
result=num1+num2;
System.out.println("結果為"+result);
}else if("-".equals(opertor)){
result=num1-num2;
System.out.println("結果為"+result);
}else if("*".equals(opertor)){
result=num1*num2;
System.out.println("結果為"+result);
}else if("/".equals(opertor)){
if(num2==0){
System.out.println("除數不能為0");
}else{
System.out.println("結果為"+result);
}
}else{
System.out.println("輸入的符號無效!");
}
}
}
====================================以上程式碼只允許整數運算==============================================================
如果把整數變為小數,我們只需要把資料型別從int型改為double型。在進行型別轉換的時候,需要用到double的parseDouble方法。這樣我們就完成了小數的四則運算。