[Java]PTA:jmu-Java-01入门-取数字浮点数

本题目要求读入若干以回车结束的字符串表示的整数或者浮点数,然后将每个数中的所有数字全部加总求和。

输入格式:

每行一个整数或者浮点数。保证在浮点数范围内。

输出格式:

整数或者浮点数中的数字之和。题目保证和在整型范围内。

输入样例:

-123.01
234

输出样例:

7
9

代码如下:

import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);while(sc.hasNextLine()){int sum=0;String doublestr=sc.nextLine();for(int i=0;i<doublestr.length();i++){char c=doublestr.charAt(i);if(Character.isDigit(c)){int num=c-'0';sum+=num;}}System.out.println(sum);}sc.close();}
}

学习心得:

先说一下这道题的总体思路:

因为主要是提取浮点数中的数字,如果单纯用取模的话,会把个位数字和整个小数部分提取出来(比如对 7.56 取模 10 的结果还是7.56),这显然与题意不符。所以在做这类浮点数提取数字的题目,不妨将浮点数转换为字符串,再把数字部分提取出来就好了。

那相较于前几题,这道题新用到的一些知识点如下:

1、java.lang.String 类的方法

(1)int length():返回字符串的长度(也就是字符的个数),示例:"abc".length() → 3。

(2)boolean isEmpty():判断字符串是否为空(长度为 0),示例:"".isEmpty() → true。

(3)char charAt(int index):返回指定索引处的字符(索引从 0 开始),示例:"hello".charAt(1) → 'e'。

(4)int indexOf(String str):返回子串 str 第一次出现的索引(没找到返回 - 1),示例:"abcabc".indexOf("ab") → 0。

(5)int lastIndexOf(String str):返回子串 str 最后一次出现的索引,示例:"abcabc".lastIndexOf("ab") → 3。

(6)boolean equals(Object obj):比较两个字符串的内容是否相等(区分大小写),示例:"abc".equals("ABC") → false。

(7)boolean equalsIgnoreCase(String str):忽略大小写比较内容,示例:"abc".equalsIgnoreCase("ABC") → true。

(8)String substring(int beginIndex):从 beginIndex 截取到末尾,示例:"hello".substring(2) → "llo".

(9)String substring(int beginIndex, int endIndex):截取 [beginIndex, endIndex) 范围的子串(含头不含尾),示例:"hello".substring(1, 4) → "ell"。

(10)String[] split(String regex):按指定正则表达式拆分字符串为数组,示例:"a,b,c".split(",") → ["a", "b", "c"]。

(11)String toLowerCase():转为小写,示例:"HELLO".toLowerCase() → "hello"。

(12)String toUpperCase():转为大写,示例:"hello".toUpperCase() → "HELLO"。

(13)String replace(char oldChar, char newChar):替换所有指定字符,示例:"aaa".replace('a', 'b') → "bbb"。

(14)String replace(String oldStr, String newStr):替换所有指定子串,示例:"abab".replace("ab", "cd") → "cdcd"。

这道题只用到了(1)(3)小点,但是我还是把常用的一些方法也提供出来方便大家使用。

2、java.lang.Character类的方法

(1)isDigit(char c):判断字符是否为数字('0'-'9'),示例:Character.isDigit('5') → true;Character.isDigit('a') → false。

(2)isLetter(char c):判断字符是否为字母(包括大小写字母,如 'a'-'z'、'A'-'Z'),示例:Character.isLetter('A') → true;Character.isLetter('3') → false。

(3)isLetterOrDigit(char c):判断字符是否为字母或数字,示例:Character.isLetterOrDigit('b') → true;Character.isLetterOrDigit('@') → false。

(4)isLowerCase(char c) / isUpperCase(char c):判断字符是否为小写 / 大写字母,示例:Character.isLowerCase('c') → true;Character.isUpperCase('D') → true。

(5)isWhitespace(char c):判断字符是否为空白字符(空格 ' '、制表符 '\t'、换行符 '\n' 等),示例:Character.isWhitespace(' ') → true;Character.isWhitespace('a') → false。

值得注意的是,这几个方法返回的都是 boolean 值。

今天的分享就到这里了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95182.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg音视频处理解决方案

核心组件&#xff1a; ffmpeg&#xff1a;主要的命令行工具&#xff0c;用于转码、转换格式等 ffprobe&#xff1a;用于分析多媒体文件信息的工具 ffplay&#xff1a;简单的媒体播放器 主要功能&#xff1a; ✅ 格式转换&#xff08;转码&#xff09; ✅ 视频裁剪、合并 ✅ 调整…

机器学习回顾——决策树详解

决策树基础概念与应用详解1. 决策树基础概念1.1 什么是决策树决策树是一种树形结构的预测模型&#xff0c;其核心思想是通过一系列规则对数据进行递归划分。它模拟人类决策过程&#xff0c;广泛应用于分类和回归任务。具体结构包括&#xff1a;内部节点&#xff1a;表示对某个特…

Linux开发必备:yum/vim/gcc/make全攻略

目录 1.学习yum、apt⼯具&#xff0c;进⾏软件安装 1-1 什么是软件包 1-2 yum/apt具体操作 2. 编辑器Vim 2-1 Linux编辑器-vim的引入 2-2 vim的基本概念 2-3 vim的基本操作 2-4 vim正常模式命令集 2-5 vim末⾏模式命令集 3. 编译器gcc/g 3-1 背景知识 3-2 gcc编译选…

【Linux系统】万字解析,进程间的信号

前言&#xff1a; 上文我们讲到了&#xff0c;进程间通信的命名管道与共享内存&#xff1a;【Linux系统】命名管道与共享内存-CSDN博客​​​​​​ 本文我们来讲一讲&#xff0c;进程的信号问题 点个关注&#xff01; 信号概念 信号是OS发送给进程的异步机制&#xff01;所谓异…

AI时代SEO关键词实战解析

内容概要 随着人工智能技术深度融入搜索引擎的运行机制&#xff0c;传统的SEO关键词研究方法正经历着根本性的变革。本文聚焦于AI时代背景下&#xff0c;如何利用智能化的策略精准定位目标用户&#xff0c;实现搜索可见度的实质性跃升。我们将深入探讨AI技术如何革新关键词研究…

Spring Boot + Spring MVC 项目结构

下面一个既能返回 JSP 页面&#xff0c;又能提供 JSON API 的 Spring Boot Spring MVC 项目结构&#xff0c;这样你就能同时用到 Controller 和 RestController 的优势。 &#x1f3d7; 项目结构 springboot-mvc-mixed/ ├── src/main/java/com/example/demo/ │ ├── …

通俗易懂的讲解下Ceph的存储原理

Ceph存储原理解析 要理解 Ceph 的存储原理&#xff0c;我们可以用一个 “分布式仓库” 的比喻来拆解 —— 把 Ceph 想象成一个由多个 “仓库管理员”&#xff08;硬件节点&#xff09;共同打理的大型仓库&#xff0c;能高效存储、管理海量货物&#xff08;数据&#xff09;&…

软件测试小结(1)

一、什么是测试&#xff1f;1.1 生活中常见的测试例如去商场买衣服&#xff1a;①、选择一件符合审美的衣服 -> 外观测试&#xff1b;②、穿上身上试试是否合身 -> 试穿测试&#xff1b;③、 看看衣服的材料是否纯棉 -> 材料测试&#xff1b;④、 询问衣服的价格 ->…

Python未来3-5年技术发展趋势分析:从AI到Web的全方位演进

Python作为全球最流行的编程语言之一&#xff0c;在开发者社区中占据核心地位。其简洁语法、丰富库生态和跨领域适用性&#xff0c;使其在AI、Web开发、数据科学等领域持续领先。本文基于当前技术演进趋势&#xff08;如2023-2024年的开源项目、社区讨论和行业报告&#xff09;…

【ComfyUI】SDXL Turbo一步完成高速高效的图像生成

今天演示的案例是一个基于 ComfyUI 与 Stable Diffusion XL Turbo 的图生图工作流。整体流程通过加载轻量化的 Turbo 版本模型&#xff0c;在文本编码与调度器的配合下&#xff0c;以极快的推理速度完成从提示词到高质量图像的生成。 配合演示图可以直观感受到&#xff0c;简洁…

基于 GPT-OSS 的在线编程课 AI 助教追问式对话 API 开发全记录

本文记录了如何在 3 天内使用 GPT-OSS 开源权重搭建一个 在线编程课 AI 助教追问式对话 API&#xff0c;从需求分析、数据准备到微调与部署全流程实战。 1️⃣ 需求与指标 回答准确率 ≥ 95%响应延迟 < 1 秒支持多学生并发提问 2️⃣ 数据准备 收集课程问答对清理无效数据…

YOLO v11 目标检测+关键点检测 实战记录

流水账记录一下yolo目标检测 1.搭建pytorch 不做解释 看以往博客或网上搜都行 2.下载yolo源码 &#xff1a; https://github.com/ultralytics/ultralytics 3.样本标注工具&#xff1a;labelme 自己下载 4.准备数据集 4.1 新建一个放置数据集的路径4.2 构建训练集和测试集 运行以…

uniApp 混合开发全指南:原生与跨端的协同方案

uniApp 作为跨端框架&#xff0c;虽能覆盖多数场景&#xff0c;但在需要调用原生能力&#xff08;如蓝牙、传感器&#xff09;、集成第三方原生 SDK&#xff08;如支付、地图&#xff09; 或在现有原生 App 中嵌入 uniApp 页面时&#xff0c;需采用「混合开发」模式。本文将系统…

【大模型】使用MLC-LLM转换和部署Qwen2.5 0.5B模型

目录 ■准备工作 下载模型 安装依赖 安装基础依赖 安装mlc-llm ■权重转换 ■生成配置文件 ■模型编译 GPU版本编译 CPU版本编译 ■启动服务 启动GPU服务 启动CPU服务 ■服务测试 ■扩展 优化量化版本(可选,节省内存) INT4量化版本 调整窗口大小以节省内存…

云计算学习100天-第43天-cobbler

目录 Cobbler 基本概念 命令 搭建cobbler 网络架构 Cobbler 基本概念 Cobbler是一款快速的网络系统部署工具&#xff0c;比PXE配置简单 集中管理所需服务&#xff08;DHCP、DNS、TFTP、WEB&#xff09; 内部集成了一个镜像版本仓库 内部集成了一个ks应答文件仓库 提供…

接口测试:如何定位BUG的产生原因

1小时postman接口测试从入门到精通教程我们从在日常功能测试过程中对UI的每一次操作说白了就是对一个或者多个接口的一次调用&#xff0c;接口的返回的内容(移动端一般为json)经过前端代码的处理最终展示在页面上。http接口是离我们最近的一层接口&#xff0c;web端和移动端所展…

GPIO的8种工作方式

GPIO的8种工作方式&#xff1a;一、4 种输入模式1.1 Floating Input 浮空输入1.2 Pull-up Input 上拉输入1.3 Pull-down Input 下拉输入1.4 Analog Input 模拟输入二、4种输出模式2.1 General Push-Pull Output 推挽输出2.2 General Open-Drain Output 开漏输出2.3…

LeetCode算法日记 - Day 29: 重排链表、合并 K 个升序链表

目录 1. 重排链表 1.1 题目解析 1.2 解法 1.3 代码实现 2. 合并 K 个升序链表 2.1 题目解析 2.2 解法 2.3 代码实现 1. 重排链表 143. 重排链表 - 力扣&#xff08;LeetCode&#xff09; 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L…

算法模板(Java版)_前缀和与差分

ZZHow(ZZHow1024) &#x1f4a1; 差分是前缀和的逆运算。 前缀和 &#x1f4a1; 前缀和作用&#xff1a;快速求出 [l, r] 区间的和。 一维前缀和 例题&#xff1a;AcWing 795. 前缀和 import java.util.Scanner;public class Main {public static void main(String[] args)…

openssl使用SM2进行数据加密和数据解密

一、准备工作 1. 安装依赖 sudo apt-get update sudo apt-get install libssl-dev2. 确认 OpenSSL 版本 openssl version如果是 1.1.1 或 3.0&#xff0c;就支持 SM2/SM3/SM4。二、C 语言示例代码 这个程序会&#xff1a; 生成 SM2 密钥对使用公钥加密一段明文使用私钥解密恢复…