Java 使用字符串-Public int length()

Java 使用字符串-Public int length(),java,bluej,string-length,variable-length,Java,Bluej,String Length,Variable Length,我对编程完全陌生,我很难理解我的作业,以及我如何继续解决它 赋值的开头是这样的:String类定义了一个长度访问器方法,其标题如下:public int length() 下面是它与字符串变量fullName一起使用的示例;fullName.length() 然后,如果fullName参数的长度小于四个字符或studentId参数的长度小于三个字符,赋值要求我向Student的构造函数添加条件语句以打印错误消息。但是,即使打印了错误消息,构造函数仍应使用这些参数来设置名称和id字段 作业还建议使

我对编程完全陌生,我很难理解我的作业,以及我如何继续解决它

赋值的开头是这样的:String类定义了一个长度访问器方法,其标题如下:public int length() 下面是它与字符串变量fullName一起使用的示例;fullName.length()

然后,如果fullName参数的长度小于四个字符或studentId参数的长度小于三个字符,赋值要求我向Student的构造函数添加条件语句以打印错误消息。但是,即使打印了错误消息,构造函数仍应使用这些参数来设置名称和id字段

作业还建议使用if和else方法

到目前为止,我已经阅读了所有的内容,但我只是不明白我是如何进行的——然而,我确实明白它应该起什么作用

你们能给我带路吗,或者只是给我一些关于我如何开始这方面的提示?
值得一提的是,这是用BlueJ编写的,它使用的是项目“LabClass”的一个示例。让我们先初始化类Student的对象,将错误检查放在一边。正如您所说,您必须设置这两个字段(全名和studentId),无论发生什么情况。这就是我们想要的:

public class Student {

    private String studentId;
    private String fullName;

    public Student(String studentId, String fullName) {
        this.studentId = studentId;
        this.fullName = fullName;
    }

    public static void main(String[] args) {
        Student s = new Student("12", "John Doe");
    }
}
上面的代码首先满足您的需要。我希望你能理解那里发生了什么?如果没有,请询问

好的,我们现在需要的是添加这个“长度检查”。关键是要理解“如果”结构。“If”仅在满足特定条件时才允许执行某些代码块。条件可以是任何表达式,但必须计算为“真”或“假”(需要是布尔值)。“If”构造如下所示:

if (expression) {
    System.out.println("Expression was true!");
}
if (fullName.length() < 4) {
    System.err.println("Too short!");
}
else {
    System.out.println("OK");
}
您可以将“表达式”替换为您的条件,如果条件为真,代码将被执行。见此:

if (3 > 2) {
    System.out.println("Three is greater than two");
}
我们可以利用这些知识进行长度测试:

if (fullName.length() < 4) {
    System.err.println("Name '" + fullName + "' is too short");
}
if(fullName.length()<4){
System.err.println(“Name'+fullName+“'太短”);
}
使用相同的结构(但条件不同)测试studentId。我相信您应该能够修改原始源代码以检查字符串长度

关于这个赋值——在这种情况下,你不需要其他构造,但要完成:你可以将它与“if”结合使用,当条件不满足时,执行某些代码,如下所示:

if (expression) {
    System.out.println("Expression was true!");
}
if (fullName.length() < 4) {
    System.err.println("Too short!");
}
else {
    System.out.println("OK");
}
if(fullName.length()<4){
System.err.println(“太短了!”);
}
否则{
System.out.println(“OK”);
}

希望这能有所帮助。

我认为最好的办法是开始编码,看看会发生什么。你提到你担心你会毁掉一些东西。你不能因为犯错误而破坏任何东西,事实上,犯错误是我们所有人学习的方式。尝试一些东西,如果它不起作用,电脑会告诉你它出了什么问题。有时电脑告诉你的东西没有多大意义,但它至少会给你一个起点。你和计算机之间的对话就是你如何了解什么是有效的,什么是无效的


你还担心被困在你不理解的事情中。起初,没有人理解这些东西,而且因为总是有比任何人都可能知道的更多的东西需要学习,所以所有程序员都必须处理一定数量的困惑。你必须相信,如果你坐下来开始工作,困惑就会消除。学习一门新语言的最好方法是说它,编程的好处是计算机对你的错误有无限的耐心

最好的开始方法是再次阅读教程。在网上搜索这些方法以及如何使用它们。这将帮助你学习语法。我真的很努力,相信我。。我已经读了很多遍了,但我似乎不明白。水果挞水果挞(1周前我开始在我的学校)编程,我似乎无法掌握它的窍门。请考虑阅读Oracle文档。学习java最好的方法。例如:请告诉我们,除了阅读所有内容外,你还尝试了什么来解决这项作业。@AlexanderTobiasHeinrich我必须承认,我还没有尝试过那么多,因为我使用的是书中的课堂示例,所以我担心我会毁掉一些东西,陷入一些我不理解的东西。所以目前我主要是想阅读和理解一些我对我的问题的回答。不过,我希望很快就能收到。谢谢你的回复——不知怎么的,它让我对它有了更多的理解。不过,我确实有几个问题要问你。在您放入的构造函数中:public static void main(String[]args){Student s=new Student(“12”,“John Doe”);这是我以前从未见过的,这让我非常困惑。此外,我可能对赋值有点误解,它实际上说我不应该使用“else”,我想。它说:提示:使用以下形式的if语句(即没有其他部分)打印错误消息。此外,布尔值是在“if”中实现的,还是我错了?仔细检查,您会发现它没有放在构造函数中。构造函数以“public Student(String studentId,String fullName)”开头这就是所谓的“声明”,因为它只是声明(告诉“有类似的东西”),然后你就有了构造函数的主体,它以“{”开头,以“}”结尾(在本例中它包含两行)。接下来,“主”是一个“方法”,当你启动你的程序时,java会调用它(顺便说一句:构造函数也是一个方法)。只是我的构造函数看起来几乎和你的“方法”一样。我被告知构造函数的头将始终与类具有相同的名称,因此我假设只有构造函数可能具有该名称,因此我跳转到