当前位置: 首页 > 知识库问答 >
问题:

Java构造函数未定义[已关闭]

华鹭洋
2023-03-14

这个问题是由打字错误或无法再复制的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能对未来的读者有所帮助。

Java构造函数不工作。

我需要制作三个构造函数和一个打印方法。然后制作三个对象并打印它们。如果我在标题中写的问题有误,请原谅我。我几乎不知道我的代码是怎么回事。但它就在这里。谁能告诉我它有什么问题以及我如何解决它。

/** class Student
 * with 4 instance variables,
 * 3 constructors, a print method,
 * and a main method to test them.
 */
 public class Minor
 {
     // Write 4 instance variables
     private int id;
     private int age;
     private double height;
     private boolean goodVictim;
     

     // Write 3 constructors to initialize the instance variables
     //  1. no parameters using default values
     public Minor() {
         id = 0;
         age = 11;
         height = 5;
         goodVictim = true;
     }
     //  2. 1 parameter and the rest default values
     public Minor(boolean initGoodVictim) {
         goodVictim = initGoodVictim;
     }
     //  3. 4 parameters
     public Minor(int initid, int initAge, double initHeight, boolean initGoodVictim) {
         id = initid;
         age = initAge;
         height = initHeight;
         goodVictim = initGoodVictim;
     }


     // Write a print method that prints all the instance variables
     public void print()
     {
         System.out.println(id);
         System.out.println(age);
         System.out.println(height);
         System.out.println(goodVictim);
     }

    // main method
    public static void main(String[] args)
    {
       // Construct 3 Minor objects using the 3 different constructors
        Minor minor1 = new Minor(4012010, 12, 5.0, true);
        Minor minor2 = new Minor(30112004, 17, 6.2, false);
        Minor minor3 = new Minor(12052008, 14, 5.5, true);


       // call their print() methods
        print(minor1);
        print(minor2);
        print(minor3);

    }
 }

下面是错误:Minor.java:51:错误:没有为Minor(int,int,int,int,boolean)Minor Minor 3 = new Minor(12052008,14,5,5,true)找到合适的构造函数;^建造师小调。Minor()不适用(实际参数列表和形式参数列表长度不同)。Minor(boolean)不适用(实际参数列表和形式参数列表长度不同)。Minor(int,int,double,boolean)不适用(实参和形参列表长度不同)Minor.java:55:错误:Minor类中的方法print不能应用于给定类型;打印(minor 1);需要^:找不到参数:次要原因:实际参数列表和形式参数列表长度不同次要原因:java:56:错误:次要类中的方法print不能应用于给定类型;打印(minor 2);需要^:找不到参数:次要原因:实际参数列表和形式参数列表长度不同次要原因:java:57:错误:次要类中的方法print不能应用于给定类型;打印(minor 3);需要^:找不到参数:次要原因:实际参数列表和形式参数列表长度不同4个错误

共有1个答案

郎鸿雪
2023-03-14

您在创建< code>minor3时出现了一个打印错误。第三个参数需要是< code>double,但您提供的是< code>5,5。这不是一个double,而是两个不同的参数。

在创建< code>minor2时,您提供了一个正确的双字面值,所以我想这是一个打印错误。

所以与其

new Minor(12052008, 14, 5,5, true)

使用

new Minor(12052008, 14, 5.5, true)

此外,您的print方法不接受参数,但您尝试使用一个参数调用它,并且从静态上下文来看,两者都不起作用。

而不是

print(minor1);

使用

minor1.print();
 类似资料:
  • 编辑问题,以包括预期行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答问题。 我有两个类:人群和顾客。我在customer类的crowd类中创建了一个构造函数实例。然而,我得到了一个错误。 这是客户构造函数: 这是crowd类中的构造函数实例:

  • 问题内容: 好的,我正在做学校的作业,我设置了我的主班和另一个名为“交易”的班。在我的主班我有: 带下划线的交易:表示构造函数未定义。为什么?! Transaction类如下所示: 看起来它应该可以工作,但事实并非如此。即使当我在main中创建新Transaction对象的位置插入一堆变量时,它仍然显示未定义。有人请帮忙! 问题答案: 您的类中没有默认的构造函数定义。 当您提供至少一个参数化构造函

  • 问题内容: 所以我有一个名为User的Java类,其中包含如下构造函数: 然后他的问题发生在我的另一个名为Admin的类中: 我收到了错误消息,我不知道该如何解决,我对Java真的很陌生。 问题答案: 您必须使用扩展类的构造函数的第一个类调用构造函数,方法是: 如果您还希望Admin也具有自定义构造函数,则必须调用: 所以:

  • 在.citydoor.imports.catalog.tools中打包;

  • 问题内容: 我已经加载了内容模块,我得到的具体错误是: 有什么想法吗?我是从以下教程中获得的:http : //developer.android.com/guide/topics/ui/notifiers/notifications.html 问题答案: 更改此: 至 发生错误是因为在这种情况下,它引用的实例,但构造函数需要一个。您必须传递的上下文是对活动本身的引用,因此您必须使用显式访问它。

  • 已经给出了所有的DTO@data、@noargsconstructor、@allargsconstructor,所以理想情况下所有的构造函数都应该可用。 我已经尝试用新旧版本的Spring tool suite和更改的lombok jar来构建这个项目。但同样或不同的错误仍在出现。 用STS4和STS 3.9.7尝试,3.9.8同样的问题即将到来。尝试龙目岛1.16.22、1.18.0、1.18.