用更简单的、JAVA初学者易懂的代码实现
时间: 2024-09-22 11:07:09 浏览: 32
贪食蛇 java代码 纯手工练习 适合初学者
4星 · 用户满意度95%
当然,对于Java初学者来说,我们可以简化代码以更好地理解如何实现巨人比赛的排序。我们首先创建一个巨人类,然后使用ArrayList而不是数组列表,因为ArrayList提供了方便的添加和排序操作。下面是简化版的代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
// 巨人类简化版
class SimpleGiant {
private String name;
private double height;
public SimpleGiant(String name, double height) {
this.name = name;
this.height = height;
}
// 获取名和身高
public String getName() { return name; }
public double getHeight() { return height; }
// 重写toString方法
@Override
public String toString() {
return "名字:" + name + ", 身高:" + height;
}
}
public class巨人比赛 {
public static void main(String[] args) {
ArrayList<SimpleGiant> giants = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
String[] line = scanner.nextLine().split(" ");
giants.add(new SimpleGiant(line[0], Double.parseDouble(line[1])));
}
// 对巨人按身高排序
Collections.sort(giants, (g1, g2) -> g1.getHeight() - g2.getHeight());
// 输出结果
for (SimpleGiant giant : giants) {
System.out.println(giant);
}
}
}
```
在这个简化版本中,我们使用了`Collections.sort`方法,它会自动根据`SimpleGiant`类的`getHeight()`方法来排序巨人。注意这里并没有直接实现`Comparable`接口,因为我们只需要一个简单的比较规则。
**输入样例**:
```
tom 3434.3
jerry 232.2
mali 1234
aili 1111
```
**输出样例**:
```
名字:aili, 身高:1111.0
名字:jerry, 身高:232.2
名字:mali, 身高:1234.0
名字:tom, 身高:3434.3
```
如果你有任何关于这段代码的问题,请随时提问。
阅读全文