已知输出身高体重函数体定义为: void print(int params[]){ System.out.println("身高"+params[0]); System.out.println("体重"+params[1]); } 试指出其所属耦合类型,并尝试修改代码以降低其耦合程度。
时间: 2024-02-27 14:51:47 浏览: 24
该函数的耦合类型为控制耦合,因为它接收一个参数数组,假定该数组的第一个元素是身高,第二个元素是体重,然后打印出来。这种方式限制了该函数的可重用性和可维护性。
为了降低其耦合程度,可以考虑使用一个包含身高和体重属性的对象作为参数,而不是一个数组。这样可以使函数更具可读性和可维护性。修改后的代码可以如下所示:
```
class Person {
private int height;
private int weight;
public Person(int height, int weight) {
this.height = height;
this.weight = weight;
}
public int getHeight() {
return height;
}
public int getWeight() {
return weight;
}
}
void print(Person person){
System.out.println("身高"+person.getHeight());
System.out.println("体重"+person.getWeight());
}
```
这样修改后,我们就可以创建一个Person对象,然后将其作为参数传递给print函数,而不是一个数组。这样可以使函数更具可读性和可维护性,也可以提高代码的重用性。
相关问题
System.out.println()和System.out.print()什么区别呢?
System.out.println()和System.out.print()是Java中用于输出信息的两个方法。
区别在于:
1. System.out.println()会在输出信息后自动换行,而System.out.print()则不会。也就是说,使用println()方法输出的内容会自动换行到下一行,而print()方法则会将内容输出在同一行。
2. System.out.println()可以接受各种数据类型作为参数,包括字符串、数字、对象等,它会将参数的值转换为字符串并输出。而System.out.print()也可以接受各种数据类型作为参数,但不会自动转换为字符串,需要手动进行类型转换。
例如:
```java
int num = 10;
String str = "Hello";
System.out.println(num); // 输出:10,换行
System.out.print(num); // 输出:10
System.out.println(str); // 输出:Hello,换行
System.out.print(str); // 输出:Hello
```
总之,System.out.println()在输出信息后会自动换行,而System.out.print()不会。根据需求选择合适的方法可以使输出结果更加清晰和易读。
// 对数组进行排序输出 public static void sort(int[] arr) { Arrays.sort(arr); for (int num : arr) { System.out.print(num + " "); } System.out.println(); }
这段代码中,`Arrays` 是 Java 中的一个工具类,提供了很多有用的静态方法,包括 `sort()` 方法,可以对数组进行排序。在这里,`sort()` 方法被用于对传入的整型数组 `arr` 进行排序,排序后的结果被依次输出。
具体细节如下:
- `Arrays.sort(arr)`:对数组 `arr` 进行排序,使用的是快速排序算法。
- `for (int num : arr)`:使用增强型 for 循环,遍历数组 `arr` 中的每一个元素,将其赋值给变量 `num`。
- `System.out.print(num + " ")`:输出变量 `num` 的值,后面跟一个空格,不换行。
- `System.out.println()`:输出一个空行,相当于换行操作。
希望这能解决你的问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)