IO实战篇:奇偶数统计 | 带你学《Java语言高级特性》之七十七

简介: 在前几节中我们实战了很多案例,本节将带着读者开发一个较为简单的实际案例,实现对输入的数字的奇偶数字的出现次数的统计功能。

上一篇:IO实战篇:数据排序处理深入 | 带你学《Java语言高级特性》之七十六
在前几节中我们实战了很多案例,本节将带着读者开发一个较为简单的实际案例,实现对输入的数字的奇偶数字的出现次数的统计功能。

【本节目标】
通过阅读本节内容,你将进一步复习Service接口的相关内容及其实现方法,进一步掌握工厂类的写法,理解其作用与功能,编写相关代码实现对奇偶数字的统计功能。

奇偶数统计

编写程序,当程序运行后,根据屏幕提示输入一个数字字符串,输入后统计有多少个偶数数字和技术数字。
本质的就成就是进行每一个字符串的拆分,而后进行数字的转换处理。

1、定义INumberService,进行数字的处理服务。

public interface INumberService {
    public int[] stat() ;
}

2、定义NumberServiceImpl子类。

public class NumberServiceImpl implements INumberService {
    @Override
    public int[] stat() {
        int stat[] = new int [] {0,0} ;//第一个为偶数,第二个为奇数
        String str = InputUtil.getString("请输入数字信息:") ;
        String result [] = str.split("") ;//按照每个字符拆分
        for (int x = 0; x < result.length; x++) {
            if (Integer.parseInt(result[x]) % 2 == 0) {
                stat [0] ++ ;
            } else {
                stat [1] ++ ;
            }
        }
        return stat;
    }
}

3、建立工厂类。

public class Factory {
    private Factory() {}
    public static INumberService getInstance() {
        return new NumberServiceImpl();
    }
}

4、定义主类调用程序。

public class IOCaseDemo {
    public static void main(String[] args) {
        System.out.println(Arrays.toString(Factory.getInstance().stat()));
    }
}

执行结果:
请输入数字信息:1902389023890
[7, 6]

想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:IO实战篇:用户登录 | 带你学《Java语言高级特性》之七十八
更多Java面向对象编程文章查看此处

相关文章
|
4月前
|
安全 Java 开发者
告别NullPointerException:Java Optional实战指南
告别NullPointerException:Java Optional实战指南
309 119
|
6月前
|
缓存 前端开发 Java
基于最新 Java 技术栈的在线任务管理系统开发实战详解
本项目基于最新Java技术栈开发在线任务管理系统,涵盖任务创建、分配、跟踪、统计等功能。采用Spring Boot 3.2.x、React 18、PostgreSQL 16等主流技术,详解项目架构设计、核心功能实现及部署流程,助力掌握现代Java全栈开发技能。
408 6
|
6月前
|
Java 关系型数据库 数据库
Java 项目实战教程从基础到进阶实战案例分析详解
本文介绍了多个Java项目实战案例,涵盖企业级管理系统、电商平台、在线书店及新手小项目,结合Spring Boot、Spring Cloud、MyBatis等主流技术,通过实际应用场景帮助开发者掌握Java项目开发的核心技能,适合从基础到进阶的学习与实践。
974 3
|
5月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
610 0
|
6月前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
1258 1
|
5月前
|
Java 开发者
Java并发编程:CountDownLatch实战解析
Java并发编程:CountDownLatch实战解析
516 100
|
6月前
|
数据采集 JSON Java
Java爬虫获取1688店铺所有商品接口数据实战指南
本文介绍如何使用Java爬虫技术高效获取1688店铺商品信息,涵盖环境搭建、API调用、签名生成及数据抓取全流程,并附完整代码示例,助力市场分析与选品决策。
|
4月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
358 18
|
4月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
195 4
|
4月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
233 1