首页 > 其他分享 >工作学习笔记(九)负数判断

工作学习笔记(九)负数判断

时间:2024-11-14 23:40:18浏览次数:1  
标签:判断 金额 System 笔记 负数 充值 amount 输入

今天的工作中,遇到一个问题,是充值金额没有负数校验。以下是几种在 Java 中添加充值金额为负数判断的常见情况示例,具体取决于应用场景是在网页开发、桌面应用等不同环境下。
一、方法参数验证场景(以一个简单的充值方法为例)
假设你有一个类,其中有个方法用于处理充值业务,方法接收充值金额作为参数,代码可能如下:

public class RechargeService { public void recharge(double amount) { if (amount < 0) { System.out.println("充值金额不能为负数,请重新输入正确的金额"); return; // 直接结束方法执行,不进行后续充值逻辑 } // 这里可以编写真正的充值逻辑,比如调用数据库操作等 System.out.println("正在充值 " + amount + " 元,充值成功!"); } }
你可以这样调用这个方法来测试:

public class Main { public static void main(String[] args) { RechargeService rechargeService = new RechargeService(); rechargeService.recharge(100.0); // 正常充值金额 rechargeService.recharge(-50.0); // 负数充值金额,会触发错误提示 } }
在上述代码中:
在 recharge 方法内,通过 if (amount < 0) 语句来判断传入的充值金额参数 amount 是否是负数。
如果是负数,就输出提示信息告知用户金额不能为负,并且使用 return 语句直接终止该方法后续逻辑的执行,避免执行错误的充值操作。
如果金额大于等于 0,就可以继续执行后续真正的充值逻辑,这里只是简单打印了充值成功的提示,实际应用中可能会涉及数据库更新用户余额等复杂操作。
二、从用户输入获取充值金额并验证(结合 Scanner 获取控制台输入为例)
如果是从用户在控制台输入充值金额,然后进行验证,可以这样写:

import java.util.Scanner; public class RechargeInputValidation { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入充值金额:"); double amount = scanner.nextDouble(); if (amount < 0) { System.out.println("充值金额不能为负数,请重新输入正确的金额"); // 可以在这里添加逻辑让用户重新输入,比如循环获取输入直到输入合法金额等 return; } System.out.println("充值 " + amount + " 元成功!"); } }
这段代码的执行逻辑如下:
首先创建了一个 Scanner 对象用于获取用户在控制台的输入。
提示用户输入充值金额后,通过 nextDouble 方法获取用户输入的数值并存储到 amount 变量中。
接着使用 if 语句判断该金额是否为负数,若是负数,则给出相应提示并结束程序(这里也可以改进为循环让用户重新输入正确金额等更完善的逻辑),若不是负数,就执行后续正常的充值业务逻辑,比如将充值记录更新到数据库、调整用户账户余额等相关操作(这里只是简单打印了充值成功的提示)。

标签:判断,金额,System,笔记,负数,充值,amount,输入
From: https://www.cnblogs.com/zjw111/p/18547174

相关文章

  • 浅学AI笔记03:一个Transformer自注意力机制的故事
    ChatGPT、百度文心一言等同类的大模型,都使用了Transformer架构,Transformer最大的特点是其有一个“自注意力机制”,搬个定义说的是:允许模型在处理每个输入元素时,能够考虑其与序列中所有其他元素之间的相关性,从而动态调整其权重。白话来说,就是模型要先理解输入句子的含义,才能......
  • HTTP 协议学习笔记
    HTTP协议学习笔记带新手走进神秘的HTTP协议-超超boy-博客园HTTP首部字段详细介绍-超超boy-博客园《白帽子讲web安全(第二版)》HTTP默认的端口号为80,HTTPS的端口号为443。HTTP是无状态协议,它不对之前发生过的请求和响应的状态进行管理。可以使用Cookie......
  • [豪の学习笔记] 计算机网络#001
    1.1.1-什么是计算机网络计算机网络=通信技术+计算机技术计算机网络就是一种特殊的通信网络定义:计算机网络就是互联的、自治的计算机集合自治:无主从关系互联:互联互通Q:距离远、数量大如何保证互联?通过交换网络互连主机交换节点:路由器或交换机Q:什么是Internet?组成细......
  • 阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_技术趋势
    目录文献基本信息序言1发展概况2 重点技术发展2.1人工智能技术2.1.1应用深化2.1.2 作战效能提升2.2 航空技术2.2.1螺旋桨设计创新2.2.2发射回收技术进步2.3 其他相关技术2.3.1远程控制技术探2.3.2 云地控制平台应用3装备系统进展3.1 无人作战飞机3......
  • 什么?还不会HTML的表格标签的运用,今天来带大家了解一下HTML的表格标签,内置4篇整理好的
    HTML表格文章目录HTML表格@[toc]HTML的表格介绍以下是一个简单的HTML表格实例:在线实例表格实例HTML表格和边框属性HTML表格表头更多实例HTML表格标签4篇笔记写笔记1.tr与td的详细讲解2.HTML的table的介绍3.常用的标签4.表格标签首先,先给大家介绍一下什么......
  • MySQL数据库:SQL语言入门 【3】(学习笔记)
    5,TCL—— 事务控制语言(TransactionControlLanguage)     用于数据库的事务管理。(1)事务的概念+作用     事务(Transaction)指的是一个操作序列,该操作序列中的多个操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,由DBMS(数......
  • MySQL数据库:SQL语言入门 【2】(学习笔记)
    目录 2,DML—— 数据操作语言(DataManipulationLanguage)(1)insert  增加 数据(2)delete 删除 数据    truncate 删除表和数据,再创建一个新表(3)update 修改 数据3,DDL——数据定义语言(DataDefinitionLanguage)(1)create 创建数据库对象(2)drop 删除......
  • MySQL数据库:SQL语言入门 【1】(学习笔记)
    SQL(StructuredQueryLanguage)是结构化查询语言的简称,它是一种数据库查询和程序设计语言,同时也是目前使用最广泛的关系型数据库操作语言。(95%适用于所有关系型数据库)【 SQL是关系型数据库通用的操作语言】在数据库管理系统中,使用SQL语言来实现数据的存取、查询、更新等功能......
  • ABB AC900F学习笔记331:使用ST做自定义功能块,计算最近60秒的分钟均值和最近60分钟的小
    前面自己学习了在西门子TIA使用SCL编程,施耐德Unity中使用ST编程做分钟均值和小时均值的方法,今晚在家练习了在ABBFreelance中自定义功能块使用ST语言做分钟均值和小时均值。新建项目、插入硬件、仿真器、操作站等不做介绍。新建一个用户功能块池,下面建一个功能块类。功能块类定......
  • 树上启发式合并学习笔记+杂题
    图论系列:前言:欲买桂花同载酒,终不似,少年游。相关题单:戳我一.树上启发式合并前置知识:树的重儿子。1.引入启发式算法是基于人类的经验和直观感觉,对一些算法的优化。(其实就是感觉是对的就是对的),例如并查集的启发式合并,将小集合合并到大集合中。因为在路径压缩的时候,大集合的根......