思路:
字符的分割和类型的转换;
首先是接口的规范:
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]);
}
}
输出结果;
以上就是奇偶数获取并统计的简单案例。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)