下面程序定义了一个学生类,其中有字符串类型属性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. 第10行 C. 第6行 D. 第9行
时间: 2024-02-25 09:55:09 浏览: 14
A. 第3行是错误的。因为在方法`setName`中,参数`n`的类型是`char`,而`name`属性的类型是`String`,两者不匹配,无法将`char`类型的`n`赋值给`String`类型的`name`属性。应该将`n`的类型改为`String`,或者将`name`的类型改为`char`。此外,`getName`方法应该返回一个`String`类型的值,所以第9行也应该改为`public String getName()`。因此,正确的程序应该是这样的:
```
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();
}
}
```
选项B、C、D中都没有错误。
相关问题
下面程序定义了一个学生类,其中有字符串类型属性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(); } }
程序中有以下错误:
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
}
}
```