铁路运货的运费与路程的远近及货物的重量有关,设价目表如下:不足100千米,每吨每千米为1.0元;100千米以上,不足300千米,每吨每千米为0.9元;300千米以上,不足500千米,每吨每千米为0.8元;500千米以上,不足1000千米,每吨每千米为0.7元;1000千米以上,每吨每千米为0.6元;编一程序从键盘输入货物重量和路程,可以计算其相应的运费。
时间: 2024-03-10 10:48:05 浏览: 220
以下是一个Java程序示例,用于计算铁路运货的运费:
```java
import java.util.Scanner;
public class RailwayFreightTransportation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入货物重量(吨):");
double weight = scanner.nextDouble();
System.out.print("请输入运输距离(公里):");
double distance = scanner.nextDouble();
double price = calculatePrice(weight, distance);
System.out.println("货物重量为:" + weight + "吨");
System.out.println("运输距离为:" + distance + "公里");
System.out.println("运费为:" + price + "元");
}
public static double calculatePrice(double weight, double distance) {
double unitPrice = 0; //每吨每公里单价
double totalPrice = 0; //总价
if (distance < 100) {
unitPrice = 1.0;
} else if (distance < 300) {
unitPrice = 0.9;
} else if (distance < 500) {
unitPrice = 0.8;
} else if (distance < 1000) {
unitPrice = 0.7;
} else {
unitPrice = 0.6;
}
totalPrice = weight * distance * unitPrice;
return totalPrice;
}
}
```
以上程序中,用户需要输入货物的重量和运输距离,程序将根据价目表计算出货物的运费,并输出结果。根据价目表,不同路程和重量的货物有不同的单价,程序使用if-else语句对不同情况进行判断。最后,程序使用字符串格式化输出结果,保留两位小数。
阅读全文