计算邮费

美国邮政根据信件的大小和重量收取邮资。以下是决定邮费的规则:

计算邮资的程式

在这个实验练习中,你将编写一个程序,提示用户输入字母的尺寸和重量。该程序将使用上述规则来计算和打印信件的邮资。

除了打印邮资外,您的程序还应该打印信件所需的标准邮票数量。标准邮票每张价值0.55美元,因此在一封信上贴上正确邮资的一个策略是贴足够的标准邮票,直到你达到或超过所需的邮资。

这里有一个例子:假设你想要发送一个重6盎司的5乘10英寸的信件。这个重量超过了正常大小信件的3.5盎司限制,所以这里适用超大费率。6盎司等于5盎司除以1盎司,所以这封信的邮资是$1.00 + 5 * $0.20 = $2.00。三枚标准邮票价值3 * $0.55 = $1.75,这是不够的。4张标准邮票价值4* $0.55 = $2.20,足够寄这封信。

解决问题的策略

您应该做的第一件事是设置变量来存储字母的尺寸和重量。因为这些都可以采用非整数值,所以应该为赢博体育这些量使用双类型变量。编写提示用户输入这些值并将其读入已设置的变量所需的代码。

您应该设置的另一个变量是存储信件邮资的变量。由于邮资可以表示为整数美分,因此应该将其设置为int变量。

您的程序应该做出的第一个决定是该信件是否适用常规费率或超大费率。编写一个if语句来做出这个决定,并让你的程序打印一条消息,说明字母是否过大。在几个输入上测试您的程序,以确保您可以正确区分普通大小的邮件和超大大小的邮件。(提示:由于决定是基于信件的尺寸和重量,因此您需要为if语句构造一个复合测试。)

接下来,填写常规大小和超大大小的逻辑,计算信件所需的邮资美分数。让你的程序打印这个值,然后在一些测试用例上测试你的程序。

最后,添加逻辑来确定需要多少标准邮票才能满足或超过信件的邮资。一个简单的方法是使用整数除法。例如,在上面的例子中,我们需要2美元的邮资,或者200美分的邮资。200/55 = 3,所以接下来我们检查3*55 = 165 < 200。从这里我们可以看出我们需要4张邮票而不是3张。

有用的提示

这里有一些关于如何解决您在此练习中遇到的技术问题的建议。

第一个问题是将物品的重量四舍五入到最接近的整数盎司。为此,您应该使用Math.ceil()方法。该方法接受一个双精度数,并将其舍入到最接近的整数值。如果项目的权重存储在名为weight的双变量中,则可以这样做

int ozs = (int) Math.ceil(weight);

第二个建议是以整数美分计算赢博体育邮资。当您打印邮资的金额时,您可以使用以下代码作为起点:

system . out。打印(“此物品费用为$”+邮资/100 +”)。+邮费% 100);

请注意,在邮资%100小于10的情况下,这将不能正常工作。您应该在程序中添加if语句,检查这种情况,并在这种情况下执行正确的操作。

怎样交作业

一旦你完成了实验练习,你应该把你的项目文件夹压缩成一个存档,并把存档作为电子邮件的附件发给我。

如果你在实验期结束前没有完成实验练习,你可以继续做这个练习。你们必须在实验结束后的下午5点前完成作业并交上来。