写一个Java程序,用轮船装货物,实现货物最大化
时间: 2023-08-23 21:04:50 浏览: 54
以下是一个简单的 Java 程序,用于实现最大化货物的装载:
```java
import java.util.Arrays;
public class ShipLoading {
public static void main(String[] args) {
int[] weights = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; // 货物重量
int capacity = 200; // 轮船载重量
Arrays.sort(weights); // 将货物按重量从小到大排序
int i = 0;
int j = weights.length - 1;
int loadedWeight = 0;
int[] loadedItems = new int[weights.length];
while (i <= j) {
if (loadedWeight + weights[j] <= capacity) {
loadedWeight += weights[j];
loadedItems[j] = 1;
j--;
} else {
loadedItems[j] = 0;
j--;
}
if (loadedWeight + weights[i] <= capacity) {
loadedWeight += weights[i];
loadedItems[i] = 1;
i++;
} else {
loadedItems[i] = 0;
i++;
}
}
System.out.println("最大装载重量为:" + loadedWeight);
System.out.println("装载情况为:" + Arrays.toString(loadedItems));
}
}
```
程序中,首先将货物按照重量从小到大排序,然后使用双指针的方式,从两端开始依次装载货物。如果当前重量加上下一个货物的重量小于等于载重量,则将该货物装上船,否则不装。最终输出最大装载重量以及装载情况。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)