首先关于我的项目的一些信息, 我正在执行一个教程任务,主要目标是学习如何处理错误, 但是我还没有那个部分,我正在建立主要课程。 这就是我需要一些帮助和指导,(但错误应该出现并被发现 这样我以后就可以学会修复它们,但这不是主要问题,只是信息。) 这是我完成的3个课程。 学生有两个私人领域:姓名和CourseCollection课程。 带有两个字段的名称字符串firstName和String surname。 带ArrayList课程的CourseCollection。
(信息:稍后,我将使用类UserDatabase来收集和加载学生集合, + class DatavaseFormatException将表示错误,但我认为首先完成这3个类会更容易吗?纠正我,如果 我错了。)
问题:我需要一些关于课程名称的帮助,我不认为我的工作是正确的。 我的主要问题是方法String encode和构造函数Name(String encodedIdentity) 我希望在哪里返回名称,用a分隔;这就是我所拥有的
enter code here
public class Name
//instanciating the persons first and last name as Strings.
private String firstName;
private String surname;
/**
* Constructor for objects of class Name- setting the text values for a name
*/
public Name(String firstName, String surname)
{
firstName = this.firstName;
surname = this.surname;
}
/**
* Constructor for objects of class Name- reconstructing the fields
* from a coded name
*/
public Name(String encodedIdentity)
{
//Here, the name is supposed to be coded as a text value, with the first
//and last names split with a ;
this.encodedIdentity=encodedIdentity;
//I am getting my first error here
}
//姓氏和姓氏的吸气者
/**
* This method will return the name, with the first and last name split
* by a ;
*/
public String encode()
{
//Could I use a split String here? If so how?
return firstName + ";" + surname;
}
}
我可以保证我的工作需要进一步的帮助。我发现,提前谢谢 StackOverflow上的人非常有帮助,因为我没有人(除了我的书) 寻求帮助。 (我知道你们不是免费的老师。但如果有人愿意在这之外帮助我,我会非常感激。 (对不起,如果不允许请求!))
编辑:谢谢你们,我的班级正在编译。我不知道如何测试它,但这就是我现在所拥有的。它看起来是否正确? public class Name
{
/**
* Constructor for objects of class Name- setting the text values for a name
*/
public Name(String firstName, String surname)
{
this.firstName = firstName;
this.surname = surname;
}
/**
* Constructor for objects of class Name- reconstructing the fields
* from a coded name
*/
public Name(String encodedIdentity)
{
String names = firstName + surname;
String[] fullname = names.split( "\\;");
if(fullname.length != 2 )
{
System.out.println(fullname);
}
}
/**
* Getting the firstname of the person
* @return firstName
*/
public String getFirstName()
{
return firstName;
}
/**
* Getting the surname of the person
* @return surname
*/
public String getSurname()
{
return surname;
}
/**
* This method will return the name, with the first and last name split
* by a ;
*/
public String encode()
{
String encode = (firstName + ";" + surname);
return encode;
}
}
答案 0 :(得分:0)
如果您获得“编码ID”,请将其拆分以获取名称:
public Name(String encodedIdentity){
String[] names = split( ";", encodedIdentity );
if( names.length != 2 ) throw new IllegalArgumentError("...");
firstName = names[0];
surname = names[1];
}
一个不存储可以指定对象属性的所有变体。因此,不应该有字段encodedIdentity。
答案 1 :(得分:0)
首先使用两个字段更正您的名称构造函数 替换这个
$str = "SELECT name FROM `student_info` WHERE code='$code'";
$name = $link->query($str) or die(mysqli_error($link));
带
public Name(String firstName, String surname)
{
firstName = this.firstName;
surname = this.surname;
}
此外,您可以在此处从控制台粘贴错误吗?这样就可以更容易地找到确切的问题。