UT源代码 159

设计佣金问题的程序

commission方法是用来计算销售佣金的需求,手机配件的销售商,手机配件有耳机(headphone)、手机壳(Mobile phone shell)、手机贴膜(Cellphone screen protector)三个部件,每个部件单价为:耳机80元,手机壳10元,手机贴膜8元,每月月末向制造商报告销量,制造商根据销量给销售商佣金。如果销售额不足1000元按10%提取佣金,1000-1800元部分按15%提取佣金,超过1800元部分按20%提取佣金。

程序要求:

1)先显示“请分别输入三种手机配件的销售情况:”

2)不满足条件,返回:“输入数量不满足要求”,返回重新输入;

3)条件均满足, 则返回佣金额。返回等待输入。

package demo;
 2
 3 import java.io.BufferedReader;
 4 import java.io.InputStreamReader;
 5
 6 public class Commission {
 7     public static final int Pheadphone = 80;
 8     public static final int Pshell = 10;
 9     public static final int Pprotector = 8;
10
11     private static BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
12
13     private static int headphone = -1;
14     private static int shell = -1;
15     private static int protector = -1;
16
17     public static double commission(int headphone,int shell,int protector){
18         double sum = 0;
19         double salary = 0.0;
20         sum = Pheadphone*headphone + Pshell*shell +Pprotector*protector;
21         if(sum<1000)
22             salary = 0.1*Pheadphone*headphone + 0.1*Pshell*shell +0.1*Pprotector*protector;
23         else if(sum<1800)
24             salary = 0.15*Pheadphone*headphone + 0.15*Pshell*shell +0.15*Pprotector*protector;
25         else
26             salary = 0.2*Pheadphone*headphone + 0.2*Pshell*shell +0.2*Pprotector*protector;
27         return salary;
28     }
29     private static int[] input(){
30         int a[] = null, i = 0;
31         try {
32             String str = bufferedReader.readLine();
33             String s[] = str.split("\\s+");
34             a = new int[s.length];
35             for(String tmp : s){
36                 a[i++] = Integer.parseInt(tmp);
37             }
38         } catch (Exception e) {
39             a = null;
40         }
41         return a;
42     }
43     public static void main(String[] args) {
44
45         double salary = 0.0;
46         int exit = 1, a[] = null;
47         while(exit == 1){
48             System.out.println("请分别输入三种手机配件的销售情况:");
49             while(a == null){
50                 a = input();
51                 if(a == null || a.length != 3){
52                     System.out.println("输入数量不满足要求”,返回重新输入: ");
53                 }else{
54                     headphone = a[0];
55                     shell = a[1];
56                     protector = a[2];
57                 }
58             }
59             if(headphone<0||shell<0||protector<0){
60                 System.out.println("输入数量不满足要求");
61                 continue;
62             }
63             salary = commission(headphone,shell,protector);
64             System.out.println("佣金额为:"+salary);
65             headphone = shell = protector = -1;
66             a = null;
67         }
68     }
69
70 }
时间: 2024-12-28 06:22:15

UT源代码 159的相关文章

Java记事本及网页源代码浏览器

1 /******************************************* 2 * 3 * 文本编辑器及网页源代码浏览器 4 * 5 * Author: Jintao 6 * E-mail:[email protected] 7 * Blog :www.zhaojintao.cn 8 * 9 ********************************************/ 10 import java.awt.BorderLayout; 11 import java.

如何阅读源代码(7)

第七章: 编码规范和约定 +++++++++++++++++++ 137.了解了给定代码库所遵循的文件组织方式后, 就能更有效率地浏览它的源代码. 138.阅读代码时, 首先要确保您的编辑器或优美打印程序的tab设置, 与代码遵循的风格规范一致. 139.可以使用代码块的缩进, 快速地掌握代码的总体结构. 140.对编排不一致的代码, 应该立即给予足够的警惕. 141.分析代码时, 对标记为XXX, FIXME和TODO的代码序列要格外注意: 错误可能就潜伏在其中. 142.常量使用大写字母命名

android应用开发_网络部分2——采用HttpURLConnection获取获取网页源代码

本文是android应用开发_网络部分1——采用HttpURLConnection获取网络图片的延续练习. 接下来,我们再来一个查看网页源代码的工程来加深了解. 布局上还是一个竖直排列的线性布局,一个edittext用于输入html路径,一个button,用于点击获取,一个textview用于显示. main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:and

Java学习-005-初学常用的几个经典循环控制源代码

最近一段时间公司 App 改版,一直处在需求评审.代码评审.测试计划.测试用例.用例评审.用例执行.缺陷管理.测试总结的循环中,因而博客也好久没有更新了.虽然工作确实忙了点,但是也是自己懒惰了,从今天开始陆续整理之前学习 Java 时写的 Java 程序,并记录在博客中,供自己查阅,也希望能给初学 Java 的亲们一份参考,希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! 此文主要讲述在初学 Java 时,常用的几个经典的循环控制程序的源码整理.源代码测试通过日

IE源代码摘抄,基于泄漏的IE5.0

下载了一份很久以前泄漏的IE5.0的源代码,虽然已经是很古远的版本了.但是通过调试现有版本浏览器与查看源代码,发现关键部分的差距并不是很大,代码很有参考意义.这里把重要的函数.数据结构摘抄出来以备参考. 1 class NOVTABLE CTreeNode : public CVoid 2 { 3 friend class CTreePos; 4 5 DECLARE_CLASS_TYPES(CTreeNode, CVoid) 6 7 public: 8 DECLARE_MEMCLEAR_NEW_

Java学习-007-Log4J 日志记录配置文件详解及实例源代码

此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-1-30 13:54:02,请知悉. 所需的 jar 包下载链接为:http://yunpan.cn/cKE56sxqtQCfP  访问密码 63d8 有关 Log4J 日志文件中日志级别及文件配置的详细情况,在 Log4J 的配置文件(xml.properties)中有详细的介绍,敬请参阅!

Selenium2学习-009-WebUI自动化实战实例-007-Selenium 8种元素定位实战实例源代码(百度首页搜索录入框及登录链接)

此 文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,通过 ID.name.xpath.cssSelector.linkText.className.partialLinkText.tagName 的实战实例源代码演示 Selenium 元素定位的 8 种方法,源代码测试通过日期为:2015-01-26 00:18,请知悉.注意:其中通过 tagName 定位元素时,返回的是一个 WebElement 的数组,需要根据实际的测试需求对其进行进一步的处理. 希望能对初学 S

日本程序开发式自定义的malloc/free函数(三)-源代码(ソースコード)

这篇文章终于是贴出了我们的源代码,实现每个功能也是花费了许多时间,大家在编写的时候可以多花点时间,多尝试,多看就能写出来. 老师的要求不能在程序里面使用malloc,new什么的,有要求使用链表,所以困扰了很久,在同学的启发下可以直接申请一块数组空间,然后再在这个数组空间下进行操作. 具体这个malloc的实现方法,就是申请空间的时候,如果开始里面没有区块,或者空着的区块就计算它要多少空间,在申请的数组空间上切下来一部分给它,要是有空着的区块>=申请的,就把这块区块给它,如果给的太大了,就把能比

QQ 机器人源代码 之盗号

QQ 机器人源代码 之盗号: QQ机器人源代码_CrazyCoder_CN.rar 分析QQ协议具体数据包,最简单的办法,是Http接口下手,于是把我以前写的Ajax给拆了,在把所谓的qq接口研究成果给鼓捣在一起,然后去 Webqq(http://Webqq.qq.com)上大抢一遍,那家伙,天昏地暗,相当的&(&(. 代码我是用script写的: 异步Ajax会话类 1//异步Ajax会话类 2if(typeof(AjaxSession) == 'undefined') 3var Aja