首页 > 基础资料 博客日记

Exception in thread “main“ java.lang.Error: Unresolved compilation problem: 这个错误意味着你在使用一个没有定义的构造函数

2024-01-10 21:33:03基础资料围观395

文章Exception in thread “main“ java.lang.Error: Unresolved compilation problem: 这个错误意味着你在使用一个没有定义的构造函数分享给大家,欢迎收藏Java资料网,专注分享技术知识

Exception in thread “main” java.lang.Error: Unresolved compilation problem:
这个错误意味着你在使用一个没有定义的构造函数"求矩形面积1.Rectangle()"。你需要确定是否有一个名为Rectangle的构造函数可用,且没有参数。

要修复这个问题,你可以尝试以下几个步骤:

  1. 确保你有一个名为Rectangle的构造函数,并且没有参数。例如:public Rectangle() {}

  2. 确保你在创建Rectangle对象时使用了正确的构造函数。例如:Rectangle rectangle = new Rectangle();

  3. 如果你已经有了一个带有参数的构造函数,那么你需要根据需要调整代码,以适应带有参数的构造函数。

如果你仍然无法解决问题,请提供更多的代码和上下文,以便我们提供更具体的帮助。
代码中存在以下错误:

  1. 缺少import语句:缺少导入Scanner类的import语句。
  2. 类名不符合命名规范:add7应该改为Add7。
  3. Rectangle类没有提供无参构造方法:在main函数中创建Rectangle对象时,缺少必要的参数。
  4. main函数中没有调用任何方法或者输出结果:main函数没有实现任何功能。
    package xiaomingm;

import java.util.Scanner;

public class 求矩形面积1 {

class Rectangle{
    int height;
    int wight;

    public Rectangle(int height, int wight) {
        this.height = height;
        this.wight = wight;
    }

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public int getWight() {
        return wight;
    }

    public void setWight(int wight) {
        this.wight = wight;
    }
    public void getArea(){
        int area=wight*height;
        System.out.println("面积为:"+area);
    }
    public void getPer(){
        int per=(wight+height)*2;
        System.out.println("周长为:"+per);
    }
    public void show(){
        System.out.println("长为:"+height+"宽为:"+wight);
        getArea();
        getPer();
    }

}

public static void main(String[] args) {

    Rectangle add=new Rectangle();
}

}
以下是修改后的代码:

import java.util.Scanner;

public class Add7 {

    class Rectangle {
        int height;
        int wight;

        public Rectangle(int height, int wight) {
            this.height = height;
            this.wight = wight;
        }

        public int getHeight() {
            return height;
        }

        public void setHeight(int height) {
            this.height = height;
        }

        public int getWight() {
            return wight;
        }

        public void setWight(int wight) {
            this.wight = wight;
        }

        public void getArea() {
            int area = wight * height;
            System.out.println("面积为:" + area);
        }

        public void getPer() {
            int per = (wight + height) * 2;
            System.out.println("周长为:" + per);
        }

        public void show() {
            System.out.println("长为:" + height + "宽为:" + wight);
            getArea();
            getPer();
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入长方形的高度:");
        int height = scanner.nextInt();
        System.out.print("请输入长方形的宽度:");
        int width = scanner.nextInt();

        Add7 add = new Add7();
        Rectangle rectangle = add.new Rectangle(height, width);
        rectangle.show();
        
        scanner.close();
    }
}

修改后的代码解决了以上提到的问题,并在main函数中添加了用户输入,调用Rectangle对象的show函数来计算并输出长方形的面积和周长。


文章来源:https://blog.csdn.net/zezeaichirou/article/details/132559506
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云