思路:
字符的分割和類型的轉換;
首先是接口的規范:
public interface IInputNumber { // 從鍵盤獲取數據
public String[] inputNum(); }
public interface IGetOdevity { // 獲取奇偶數
public int[] getOdevity(String[] inputStringArr); }
然后是獲取數據和處理方法:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class InputNumber implements IInputNumber{ @Override public String[] inputNum() { BufferedReader inputString = new BufferedReader(new InputStreamReader(System.in)); System.out.print("請輸入想要的數字:"); try { String input = inputString.readLine(); /* if (input.matches("\\d( \\d+ )+ *|(\\d+ )+\\d|( *\\d+)+|( *\\d+ )+ *")){ 1. 開頭無空格,結尾有多個空格 2. 開頭結尾都無空格 3. 開頭有多個空格,結尾沒有空格 4. 開頭結尾都有多個空格 * */
if (input.matches("\\d+( \\d+)+ *|(\\d+ )+")){ return input.split(" "); } else if (input.matches("( +\\d+)+")){ System.out.println("錯誤!開頭不能輸入空格"); }else { System.out.println("錯誤!請輸入數字!"); } } catch (IOException e) { e.printStackTrace(); }finally { try { inputString.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } }
public class GetOdevity implements IGetOdevity { @Override public int[] getOdevity(String[] inputStringArr) { // 獲取奇偶數個數的方法
int[] res = new int[2]; // 表示奇偶數個數
res[0] = 0; // 表示奇數個數
res[1] = 0; // 表示偶數個數
if (inputStringArr.length != 0) { int[] getIntNum = new int[inputStringArr.length]; for (int i = 0; i < inputStringArr.length; i++) { // 將傳入的字符串類型的數字轉換為int類型的數字並存儲在數組中
getIntNum[i] = Integer.parseInt(inputStringArr[i]); } for (int i : getIntNum) { if (i % 2 == 1) { // 奇數加一
res[0]++; } if (i % 2 == 0) { // 偶數加一
res[1]++; } } }else { System.out.println("數據為空!"); } return res; } }
然后是工廠類獲取類對象:
public class Factory { public static IGetOdevity getIntance(){ return new GetOdevity(); } }
最后是客戶端進行調用:
import java.util.Arrays; public class MAIN { public static void main(String[] args) { // System.out.println(Arrays.toString(Factory.getIntance().getOdevity(new InputNumber().inputNum())));
int [] res = Factory.getIntance().getOdevity(new InputNumber().inputNum()); System.out.println("奇數:" + res[0] + "\t偶數:" + res[1]); } }
輸出結果;
以上就是奇偶數獲取並統計的簡單案例。