最近在做一个项目时对有个地方一直有点迷惑,背景是这样:
model类:Doctor,PriceStandard
Doctor字段:
List<PriceStandard> feeList;
//扣费方式,1表示代扣,2表示不代扣
String recoupWay;
.....
PriceStandard字段:
//Y表示系统收费,N非系统收费
String isSystem;
//费用
double priceAmount;
.....
目的:判断当前doctor所收费用是否为0?(不代扣表示收费为0).
代扣费用条件:recoupWay=="1"&&isSystem=="N"
不代扣条件:recoupWay=="2"&&isSystem=="N"
系统费用: recoupWay=="1"||"2"+isSystem=="Y"即isSystem=="Y"
(其中代扣与不代扣只会出现其一)
总费用:代扣费或不代扣费+系统费用
代码:
//计算挂号实际收取费用
List<PriceStandard> feeList = doctor.getFeeList();
// 费用总数
double hs_price = 0;
double ad_price = 0;
//不代扣费用
double site_price = 0;
for (PriceStandard ps:feeList) {
double priceTemp = ps.getPriceAmount();
//代扣费用
if(doctor.getRecoupWay().equals("1")&&ps.getIsSystem().equals("N")){
hs_price += priceTemp;
}
//不代扣费用
if(doctor.getRecoupWay().equals("2")&&ps.getIsSystem().equals("N")){
site_price += priceTemp;
}
if(ps.getIsSystem().equals("Y")){
ad_price += priceTemp;
}
}
这段代码看起来非常的别扭,那个doctor.getRecoupWay()明明是外部的变量却不得不放在for循环内部来比较,因此很多人一看见这段代码就有想改一改的冲动,我也不例外:
//计算挂号实际收取费用
List<PriceStandard> feeList = doctor.getFeeList();
// 费用总数
double hs_price = 0;
double ad_price = 0;
//不代扣费用
double site_price = 0;
for (PriceStandard ps:feeList) {
if(ps.getIsSystem().equals("Y")){//系统费用
ad_price += ps.getPriceAmount();
}else if(ps.getIsSystem().equals("N")){//非系统收费
if(doctor.getRecoupWay().equals("1")){//代扣费用
hs_price += ps.getPriceAmount();
}else if(doctor.getRecoupWay().equals("2")){//不代扣费用
site_price += ps.getPriceAmount();
}
}
}
个人觉得这个recoupWay放在PriceStandard类可能更清晰一些。
分享到:
相关推荐
1. 代码准备:首先,你需要在开发环境中,比如MyEclipse中编写好Java代码,然后选中需要拷贝的代码段,执行复制操作。这一步骤中,确保代码是完整且没有语法错误的,因为一旦发现错误,高亮工具将无法正确解析。 2....
Java代码生成是一个高效开发的重要工具,它通过自动化的方式帮助开发者减少重复劳动,提高生产力。本话题将深入探讨如何使用FreeMarker模板引擎实现自动生成MVC(Model-View-Controller)架构的代码。 FreeMarker是...
《Java编程超级马里奥全代码》是一款基于Java开发的游戏项目,它允许用户自定义游戏体验,具有高度的可玩性和可扩展性。这个项目在Java编程领域内,特别是游戏开发方面,提供了一次深入学习的机会,对于想要提升Java...
【标题】"java记事本 源代码"所涉及的知识点主要集中在Java编程语言、图形用户界面(GUI)设计以及文件操作上。这个项目利用Java的Swing库来构建一个类似于Windows记事本的应用程序,它实现了文本编辑的基础功能。 ...
【标题】:“java记事本源代码”是一个关于Java编程的项目,主要目的是实现一个基本的文本编辑器,也就是我们日常所说的记事本程序。这个项目可能是某位开发者或者学生为了学习Java编程或者完成课程作业而创建的。...
标题 "一键贴java、xml、html等代码到txt、word(bat命令合并代码)" 描述了一种利用批处理(BAT)脚本来批量处理代码文件,以便将它们粘贴到TXT或Word文档中的方法。这种方法对于程序员来说非常实用,可以节省在多...
【Java 记事本+源代码】是一款基于Java编程语言开发的简单文本编辑器,适合初学者进行学习和参考。这个项目旨在帮助那些初步接触Java编程的学员更好地理解和实践面向对象编程思想,以及掌握Java GUI(图形用户界面)...
这个名为 "java_hello_world源代码工程" 的压缩包文件,显然包含了这样一个基础示例的完整源代码工程,适合初学者理解Java编程的基本结构。 在Java中,"Hello, World" 程序通常包含在一个名为 `HelloWorld.java` 的...
【标题】"记事本Java源代码"涉及的是使用Java编程语言实现的一个基本文本编辑器,也就是我们常见的“记事本”程序。这个程序通常包含了基础的文本编辑功能,如新建、打开、保存、复制、粘贴、剪切、查找、替换等。在...
### Java计算器源代码解析 #### 一、项目概述 该Java程序实现了一个具有基本功能的图形界面计算器。从提供的代码片段来看,这是一个较为完整的计算器应用,不仅具备了基础的四则运算功能,还包含了开方、取反等...
所用工具:Jcreator 一.新建(ctrl+n)→判断:1.保存了,直接新建,框架名为:“新建 文本文档.txt--★海龙记事本★” 2.未保存:提示未保存,要求选则是否保存 选是,保存后新建;选否,不保存直接新建。...
### Java Script脚本常用代码详解 #### 一、概述 JavaScript是一种广泛使用的脚本语言,尤其在网页开发中扮演着重要角色。对于初学者来说,掌握一些基础且常用的JavaScript代码片段是十分必要的。本文将根据提供的...
Java编写的记事本源代码是一个典型的桌面应用程序开发实例,对于初学者来说,它提供了深入理解Java...通过分析和理解这段代码,开发者不仅可以深化对Java基础知识的理解,还能掌握如何用Java构建实用的桌面应用程序。
【Java 游戏开发:基于源代码的三国游戏解析】 在Java编程中,开发游戏是一项具有挑战性的任务,尤其在J2ME(Java Micro Edition)平台上,资源有限但需要创造丰富的用户体验。本篇将深入探讨一个基于Java编写的...
### 关键代码片段解析 1. **导入必要包**: ```java import java.awt.event.*; import java.util.Date; import java.text.SimpleDateFormat; import javax.swing.*; import javax.swing.event.*; import ...
Java课程设计代码集合包含了多个实用且有趣的项目,涵盖了基础到进阶的编程概念,适合学习和实践。以下是对每个项目源代码的详细说明: 1. **记事本(edit.rar)**: 记事本项目是Java GUI编程的基础应用,它使用...
标题中的“和Windows一样的java记事本源代码”指的是一个使用Java编程语言开发的文本编辑器,其功能和Windows操作系统内置的记事本程序类似。这个项目可能旨在为用户提供一个跨平台的文本编辑工具,因为Java具有“一...