Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';对于看似简单的Java代码,我会遇到奇怪的错误。我做错了什么?_Java_Constructor - Fatal编程技术网

I';对于看似简单的Java代码,我会遇到奇怪的错误。我做错了什么?

I';对于看似简单的Java代码,我会遇到奇怪的错误。我做错了什么?,java,constructor,Java,Constructor,我有一个软件类介绍的最终项目,该项目分为几个部分。对于第一部分,以下是说明: 任务1-1: 创建一个名为Inventory的类 由三个数据成员组成:零件号由两个字母和四个数字组成(例如AB1234),描述 由5-25个字母组成,描述物品(如木制 爪锤)和由0到之间的整数组成的量 一千 创建一个默认构造函数,将零件号设置为AA0000,将描述设置为测试项,将数量设置为零 创建参数化构造函数,将零件号、说明和数量设置为发送给构造函数的参数值 为每个数据成员创建集合方法,将成员的值更改为传递给该方法的

我有一个软件类介绍的最终项目,该项目分为几个部分。对于第一部分,以下是说明:

任务1-1:
创建一个名为Inventory的类

  • 由三个数据成员组成:零件号由两个字母和四个数字组成(例如AB1234),描述 由5-25个字母组成,描述物品(如木制 爪锤)和由0到之间的整数组成的量 一千

  • 创建一个默认构造函数,将零件号设置为AA0000,将描述设置为测试项,将数量设置为零

  • 创建参数化构造函数,将零件号、说明和数量设置为发送给构造函数的参数值

  • 为每个数据成员创建集合方法,将成员的值更改为传递给该方法的参数。还要创建一个组 检索每个数据成员的get方法的集合

  • 创建一个名为show part的方法,该方法显示对象的格式化内容

  • 看起来很简单,是吗?很明显我做错了什么,但我不确定是什么,可能是一个小错误,或者我只是不知道我在做什么。我尝试过删除构造函数和某些方法(
    showPart()
    ),但却得到了相同或类似的错误

    这是我的密码:

    public class InventoryFinal {
        public static void main(String[] args) {
    
            String partNo;
            String prodDesc;
            int quantity;
    
            public InventoryFinal() {
                partNo = "AA0000";
                prodDesc = "Test Item";
                quantity = 0;
            }
    
            public InventoryFinal(String s, String s2, int i) {
                partNo = s;
                prodDesc = s2;
                quantity = i;
            }
    
            public void setPartNo(String sSet) {
                partNo = sSet;
            }
    
            public void setProdDesc(String sSet2) {
                prodDesc = sSet2;
            }
    
            public void setQuantity(int iSet) {
                quantity = iSet;
            }
    
            public String getPartNo() { return partNo; }
            public String getProdDesc() { return prodDesc; }
            public int getQuantity() { return quantity; }
    
            public void showPart() {
                System.out.println("Item#: " + partNo);
                System.out.println("Description: " + prodDesc);
                System.out.println("Quantity: " + quantity);
            }
    
            showPart();
        }
    }
    
    它给我的错误对我来说没有多大意义。我做错了什么

    File: M:\Intro to Software\InventoryFinal.java  [line: 8]
    Error: Syntax error on token "public", new expected
    File: M:\Intro to Software\InventoryFinal.java  [line: 8]
    Error: Syntax error on token "{", { expected after this token
    File: M:\Intro to Software\InventoryFinal.java  [line: 42]
    Error: Syntax error, insert "}" to complete ClassBody
    File: M:\Intro to Software\InventoryFinal.java  [line: 42]
    Error: Syntax error, insert ";" to complete Statement
    

    不能有嵌入式方法。目前,主方法中包含了所有字段和方法

    应该更像

    public class InventoryFinal {
    
        String partNo;
        String prodDesc;
        int quantity;
    
        public static void main(String[] args) {
            //create new instances and call methods from here
        }
    
        public InventoryFinal() {
            partNo = "AA0000";
            prodDesc = "Test Item";
            quantity = 0;
        }
    
        public InventoryFinal(String s, String s2, int i) {
            partNo = s;
            prodDesc = s2;
            quantity = i;
        }
    
        public void setPartNo(String sSet) {
            partNo = sSet;
        }
    
        public void setProdDesc(String sSet2) {
            prodDesc = sSet2;
        }
    
        public void setQuantity(int iSet) {
            quantity = iSet;
        }
    
    } // close class
    

    @Mike'Pomax'Kamermans是我直接从DrJava复制和粘贴的。在我看来,这就像
    InventoryFinal
    声明了一个main方法,然后尝试在main方法中定义类和实例变量。也就是说,您忘记了用右括号关闭main方法。提示:每当您遇到这样的“奇怪错误”时,请仔细查看错误的第一行,然后在文件中查找,以确保该点之前的所有内容都是正确的。忘记大括号或分号之类的东西很常见,即使对于经验丰富的程序员也是如此