java - 需要帮助创建类以反向返回名称并返回首字母
问题描述
对于家庭作业,我需要编写一个具有两个构造函数的类 Name,一个具有 3 个参数用于第一个、最后一个和中间名首字母,一个具有两个参数用于第一个和最后一个。我必须使方法 getNormalOrder、getReverseOrder 和 getInitials。因此,如果名称是 John W Smith,getReverseOrder 将返回 Smith,John W.,getInitials 将返回 JWS,getNormalOrder 将定期返回它。我不断收到错误:
method getInitials in class Name cannot be applied to given types;
当我在另一个文件中测试该方法时。我将把我的代码放在下面。
class Name {
private String firstName;
private String lastName;
private char middleName;
public Name(String firstName, char middleName, String lastName) {
this.firstName = firstName;
this.middleName = middleName;
this.lastName = lastName;
}
public Name(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getReverseOrder(String first, char middle, String last) {
String a = "";
a += last;
a += ", ";
a += first;
a += " ";
a += middle;
return a;
}
public String getReverseOrder(String first, String last) {
String a = "";
a += last;
a += ", ";
a += first;
return a;
}
public String getInitials(String first, char middle, String last) {
String a = "";
a += first.charAt(0);
a += middle;
a += last.charAt(0);
return a;
}
public String getInitials(String first, String last) {
String a = "";
a += first.charAt(0);
a += last.charAt(0);
return a;
}
}
我还没有写getNormalOrder。这就是我现在测试它的方式。我认为我做的一切都完全错了。
public class NameTest {
public static void main (String [] args) {
Name teacher = new Name("John", 'W', "Smith");
Name tf = new Name("John", "Smith");
System.out.println(teacher.getInitials());
}
}
解决方案
问题是,你调用没有参数的方法
teacher.getInitials()
但是您的类中定义的方法分别采用 2 个和 3 个参数
getInitials(String first, String last)
getInitials(String first, char middle, String last)
这些方法不需要任何参数,因为必要的数据(第一个、中间、最后一个)已经存储在类成员中。方法应该使用这些。其他方法也是如此。
例如getInitials()
(只有名字和姓氏)
public String getInitials() {
String a = "";
a += firstName.charAt(0);
a += lastName.charAt(0);
return a;
}
推荐阅读
- symfony - Symfony 3.4 中 ArrayCollection / OneToMany 关系的类型错误
- node.js - How to control the inner join query in sequelize using node.js?
- javascript - 你如何让javascript(包括带有数组和返回的函数)在按钮点击时写入div而不转到另一个页面
- javascript - 使用 angularjs 触发 HTML 属性而不使用按钮
- javascript - 什么是`vsc-initialized`?
- android - :app:transformClassesWithDexBuilderForDebug 添加领域后异常
- ruby-on-rails - 红宝石正则表达式匹配
- mysql - MySQL:语句中有两个计数
- python - Django:如何在不呈现反斜杠的情况下序列化模型的文本字段
- concourse - 大厅合并另一个分支