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