Java之輸入一串數據判斷其中的奇偶數個數


思路:

字符的分割和類型的轉換;

首先是接口的規范:

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]); } }

輸出結果;

以上就是奇偶數獲取並統計的簡單案例。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM