编写一个关于java/problems的基本租车程序
所以我非常困惑,只是想寻求帮助:L。这就是我的导师的指导 说明: 使用sentinel值循环 向每个用户询问:编写一个关于java/problems的基本租车程序,java,loops,if-statement,summary,sentinel,Java,Loops,If Statement,Summary,Sentinel,所以我非常困惑,只是想寻求帮助:L。这就是我的导师的指导 说明: 使用sentinel值循环 向每个用户询问: 车辆类型(可能使用字符串以外的其他内容,例如:1 经济型2辆,轿车2辆等) 租用天数 计算(每个客户的)成本: 租金 税收 应付总额 有三种不同的租金选择,分别为31.76美元的经济型、40.32美元的轿车和47.56美元的SUV。[注:仅考虑全天单位(无小时费率)] 销售税=总额的6% 使用以下内容创建摘要数据: 顾客人数 收集的总金额 此外,还包括IPO、算法和桌面检查
- 车辆类型(可能使用字符串以外的其他内容,例如:1 经济型2辆,轿车2辆等)
- 租用天数
- 租金
- 税收
- 应付总额
- 顾客人数
- 收集的总金额
package yipe;
public class Umm {
import java.util.*;
int count = 0;
static int CarType, days;
static double DailyFee, Total;
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("What vehical would you like to rent?\n");
System.out.println("Enter 1 for an economy car\n");
System.out.println("Enter 2 for a sedan car\n");
System.out.println("Enter 3 for an SUV");
CarType = keyboard.nextInt();
if (CarType == '1')
DailyFee=(int)31.76;
else if(CarType == '2')
DailyFee=(int)40.32;
else if(CarType == '3')
DailyFee=(int)43.50;
System.out.print("Please enter the number of days rented. (Example; 3) : ");
days = keyboard.nextInt();
Total = (DailyFee * days * 6/100);
System.out.printf("The total amount due is $" + Total);
}
}
请注意,
'1'
实际上是字符1
,不是整数1
。他们其实很不一样
在Java(以及C#)中,int
和char
类型可以相互转换
为了举例说明,下面实际打印了49个:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.print((int)'1');
}
}
类似地,以下打印true
:
System.out.println('1' == 49);
如您所见,该字符被隐式转换为等效的int
值
要理解为什么'1'
特别等于49,请查看字符的表示方式。特别是,看一下(这是字符编码的一个常见约定)-结果是字符'1'
是ASCII 49。实际上,我们可以做与上面相同的事情“反向”将ASCII 49“转换”为其等效字符,下面的行打印1
:
System.out.println((char)49);
要了解这种转换是如何工作的,您可能需要阅读。如果您对C#中的工作原理感到好奇,您可能还想阅读
还有一点:当您执行DailyFee=(int)31.76
时,将其转换为int
实际上会“删除”小数点后的所有内容,因此这与编写DailyFee=31
没有什么不同。这是因为31是一个整数,而31.76不是(它是一个有理数)
一个次要的风格点:你可以考虑使用<代码>开关<代码>语句。
=1,=2。Not==“1”。CarType是一个int,您试图将其与chars“1”等进行比较。。。删除“谢谢你,我非常感谢你的帮助,我这么做了,但是,我的数学公式在试图计算租用天数(*)加(+)时似乎仍然不正确这是6%。回答完问题后,请不要删掉这些问题,这样对将来有类似问题的读者来说才有意义。@EJoshuaS,但没有完全回答。我们试图澄清接下来的两个问题?Re“在Java[…]中,int
和char
类型可以相互转换。”我认为必须提到以下两个问题之间的重要区别: