下面程序定义了一个学生类,其中有字符串类型属性name,有对name进行访问的方法。请找出程序中的一些错误( ) public class Student{ private String name; public void setName(char n) { name=n; } public void getName(){ return name; } public static void main(String args){ new Student(); } }
时间: 2024-02-03 15:02:41 浏览: 68
程序中有以下错误:
1. 在方法 `setName` 的参数中,将 `char` 类型的变量 `n` 作为学生的名字,但是学生的名字应该是字符串类型,应该将 `n` 改为 `String` 类型。
2. 在方法 `getName` 中,应该使用 `return` 关键字返回学生的名字,而不是声明返回类型 `void`。
3. 在 `main` 方法中,应该传入一个字符串数组参数。
修正后的程序如下:
```
public class Student {
private String name;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public static void main(String[] args) {
new Student();
}
}
```
相关问题
下面程序定义了一个学生类,其中有字符串类型属性name,有对name进行访问的方法。请找出程序中的一些错误( ) public class Student{ private String name; public void setName(char n) { name=n; } public void getName(){ return name; } public static void main(String args){ new Student(); } } A. 第3行 B. 第9行 C. 第10行 D. 第6行
选项 A、B、C 中都包含了错误。
选项 A 中的错误在于 `setName` 方法的参数类型应该是 `String`,而不是 `char`。因为 `name` 属性是一个字符串类型,因此在赋值时应该使用字符串类型的值。
选项 B 中的错误在于 `getName` 方法的返回类型应该是 `String`,而不是 `void`。因为 `getName` 方法是获取 `name` 属性的方法,应该返回该属性的值,因此返回类型应该是字符串类型的。
选项 C 中的错误在于 `getName` 方法应该有一个返回值,而不是 `void`。因为 `getName` 方法是获取 `name` 属性的方法,应该返回该属性的值,因此应该有一个字符串类型的返回值。
选项 D 中的代码是正确的,因为 `name` 属性是一个字符串类型的属性,而 `setName` 方法中使用的 `name` 变量也是一个字符串类型的变量。但是参数类型应该修改为 `String`。同时,`getName` 方法也需要修改返回类型为 `String`,并且添加一个返回语句来返回属性值。最后,`main` 方法中创建了一个 `Student` 对象,但是没有对其进行任何操作,因此可以删除该行代码。修改后的代码如下:
```
public class Student {
private String name;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public static void main(String[] args) {
// do something
}
}
```
阅读全文