思路:
字符的分割和类型的转换;
首先是接口的规范:
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]); } }
输出结果;
以上就是奇偶数获取并统计的简单案例。