- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序计设任务驱动式教程04章
;目 录;任务十一 用数组存储信息(使用数组);任务二十一 简明清晰的菜单(使用菜单和其他常用事件);任务四 挑战选择(使用分支控制流程) ;内容提要;4.1 跟我做:计算运费;问题分析
从技术角度,该程序涉及常量和变量的定义和使用、变量间的算术运算、数据类型转换(包括字符串与基本数据类型的转换)、基本的输入输出操作、if-else条件语句和switch分支语句的应用。
解决步骤
1.打开Eclipse,在study项目中创建包com.task04,再确定类名ComputePriceIf和ComputePriceSwitch,得到类的框架。
package com.task04;
public class ComputePriceIf {}
public class ComputePriceSwitch{}
2.定义所需要的变量。
3.接收从键盘输入的数据,并将其转换成基本数据类型。;4.根据输入数据的值和该运输公司的收费标准,分别用if-else条件语句和switch分支语句计算运费。
(1)根据该运输公司的收费标准,可得到总运费f的计算公式:f=p×w×s×(1-d)
(2)根据该运输公司的收费标准,可以看到,优惠的“变化点”都是250的倍数,若令c=s/250,则
当c1时,表示s250,没有优惠;1≤c2时,表示250≤s500,优惠金额的百分比d=2%;2≤c4时,表示500≤s1000,优惠金额的百分比d=5%;4≤c8时,表示1000≤s2000,优惠金额的百分比d=8%;8≤c12时,表示2000≤s3000,优惠金额的百分比d=10%;c≥12时,表示s≥3000,优惠金额的百分比d=15%。
5.输出运费。
;程序代码
(1)使用if-else条件语句实现的代码如下:
package com.task04;
import javax.swing.*;
public class ComputePriceIf{
public static void main(String[] args){
int c,s=0;
double p=0,w=0,d,f;
p=Double.parseDouble(JOptionPane.showInputDialog(请输入运输公司的运输单价,new Double(p)));
w=Double.parseDouble(JOptionPane.showInputDialog(请输入要运输的货物的重量,new Double(w)));
s=Integer.parseInt(JOptionPane.showInputDialog(请输入运输的距离,new Integer(s)));
if(s=3000)c=12;
else c=s/250;
if(c1)d=0;
else if(c2)d=0.02;
else if(c4)d=0.05;
else if(c8)d=0.08;
else if(c12)d=0.1;
else d=0.15;
f=p*w*s*(1-d);
System.out.println(运输公司的运输单价为+p);
System.out.println(该次运输的货物重量为+w);
System.out.println(该次运输的运输距离为+s);
System.out.println(该次运输的总运费为+f);
}
};4.3 代码分析 ;应用扩展
(1)上面的程序没有对用户输入的数据进行有效性的判断,如果用户输入负数,可以弹出警告信息或者将用户输入的非法数据进行统一的赋0等操作,这样可以使程序更加完善。参考代码如下:
if(p0)
{System.out.println(“您输入的运费单价是负数,请输入大于0的数”);}
if(w0)
{System.out.println(“您输入的运输重量是负数,请输入大于0的数”);}
if(s0)
{System.out.println(“您输入的运输距离是负数,请输入大于0的数”);}
(2)4.3中的代码使用的输入方式是用对话框方式实现的输入,对话框方式还可以实现输出。Java通过javax.swing.JoptionPane类可以方便地实现向用户发出输入或输出消息。JoptionPane类提供了几个主要的输入输出方法,如下:
方法showConfirmDialog():用于询问一个确认问题,如yes/no/cancel。
方法showInputDialog():用于提示要求某些输入。
方法showMessageDialog():告知用户某事已发生。
方法
文档评论(0)