OOP学校工作(初学者)

时间:2015-04-25 04:28:54

标签: java

原样,它确实编译。

Bug =在同一行上打印品种和声明的语句。由于某种原因无法摆脱这个错误

Bug =无法获取编译和打印的结果逻辑 console(newb)

有一些例子有点像我的帖子,但他们真的没有做任何事情来帮助,因为他们并不完全是我认为我应该去的地方。一个工作完美,但使用和阵列,我们甚至没有在我的课程中的那一部分。这是老师的指示和他给我的一些提示,然后我的代码到目前为止。其中一些是注释掉的,因为我在打印结果之前试图摆脱错误。此外,为了方便,我确实更改了一些名称,直到作业完成。对不起任何格式问题。有什么建议吗?

按此顺序:

  1. 课程档案的作业指示
  2. 老师提示
  3. 到目前为止
  4. 类文件代码
  5. 分配驱动程序文件
  6. 到目前为止
  7. 驱动程序文件代码

    1. 课程文件的作业说明:
  8. 创建一个名为Cat的新类,其中包含以下功能

    新类具有以下属性:     name - 类型String     年龄 - 类型整数     重量 - 型双     品种 - 类型字符串     declawed - 类型boolean - true表示没有爪子,false表示有爪子

    确保您的类具有合理的构造函数,访问器和mutator方法。每个成员变量必须至少有一个独立的访问者和一个独立的mutator。

    实施例:     public void setName(String name)mutator用于设置名称     public void setBreed(String breed)mutator用于设置品种     public void set(布尔声明)用于设置爪子与否 ****(你必须重载set方法来设置deClawed值)**这是什么?**     public String getName()访问器用于获取名称     public String getBreed()访问器用于获取品种     public boolean getBoolean()访问用于获取声明的值

    在引用当前对象的每个实例变量或实例方法时,请确保在此类中使用“this”引用。

    1. 教师的提示: 对于你的IF语句,你只会使用Age和Claw方法 然后在你打印出所有东西的最后,你将需要其余的 方法。您可以创建显示方法以显示所有打印 每个类别的陈述,如姓名,年龄等......然后就变成了 更容易在main方法中显示 - 这将是你的代码 主要方法:

      System.out.println("输入的cat数据为:\ n");  myCat1.display();  myCat2.display();  myCat3.display();

    2. 到目前为止
    3. 类文件的代码

    4. / ********************************************** ************************************************** * * Cat.java * Jonathan Nees * *茶。 6 OOP ************************************************** *************** /

      import java.util.Scanner;
      public class Cat
      {
          private String name;
          private int age;
          private double weight;
          private String breed;
          private boolean declawed;
      
          public void setName(String name)
          {
              this.name = name;
          }
      
          public String getName()
          {
          return this.name;
          }
      
          public void setAge(int age)
          {
          this.age = age;
          }
      
          public int getAge()
          {
          return this.age;
          }
      
          public void setWeight(double weight)
          {
          this.weight = weight;
          }
      
          public double getWeight()
          {
          return this.weight;
          }
      
          public void setBreed(String breed)
          {
              this.breed = breed;
          }
      
          public String getBreed()
          {
          return this.breed;
          }
      
          public void setDeclawed(boolean declawed)
          {
          this.declawed = declawed;
          }
      
          public boolean isDeclawed()
          {
          if (!this.declawed == false)
          {
              return true;
          }
          else
          {
              return false;
          }
          }
      
          Scanner input = new Scanner(System.in);
      
          public void display()
          {
          System.out.print("Enter the name of Cat: ");
          this.name = input.nextLine();
          System.out.print("Enter the age of Cat: ");
          this.age = input.nextInt();
          System.out.print("Enter the weight of Cat: ");
          this.weight = input.nextDouble();
          System.out.print("Enter the breed of Cat: ");
          this.breed = input.nextLine();
              System.out.print("Does the cat have claws? True or False?: ");
          this.declawed = input.nextBoolean();
          }
      }
      
      1. 驱动程序文件的分配说明
      2. 编写一个驱动程序,读取3只猫类型的宠物,并打印出所有带有爪子且超过3岁的猫的名字和年龄。

        应阅读以下信息:         名称(作为字符串)         年龄(以int为单位)         重量(双倍)         品种(如弦)         DeClawed(作为布尔值)

        确保使用存取方法检查年龄和爪子。

          到目前为止
        1. 驱动程序文件的代码
        2. / ********************************************** ************************************************** * * CatDriver.java * Jonathan Nees * *茶。 6 OOP驱动程序 ************************************************** *************** /

          import java.util.Scanner;
          
          public class CatDriver
          {
              public static void main(String[] args)
              {
              Scanner input = new Scanner(System.in);
              Cat Cat1 = new Cat();
              Cat Cat2 = new Cat();
              Cat Cat3 = new Cat();
          
              Cat1.display();
              System.out.println();
              Cat2.display();
              System.out.println();
              Cat3.display();
              System.out.println();
          
              //*for (int i=0; i<3; i++)
              //{
              //  System.out.println("The cats over 3 with claws are:");
              //  if ((!this.age() <= 3) && (this.Declawed() == true))
              //  {
              //      System.out.println("Name: " + this.name);
              //      System.out.println("Age: " + this.age + "Years Old");
                  //  }
              //}
              }
          }
          

          就像我说的那样,在评估结果之前我已经评论了一些错误。

          它几乎可以工作!几分...

1 个答案:

答案 0 :(得分:0)

我能够让它发挥作用。我使用setter方法重写了你的显示方法,它就可以了。另外,你的声明的setter方法有点混乱,所以你可能想修改它。 试试这个:

public void display()
{
    System.out.print("Enter the name of Cat: ");
    this.setName(input.nextLine());
    System.out.print("Enter the age of Cat: ");
    this.setAge(Integer.valueOf(input.nextLine()));
    System.out.print("Enter the weight of Cat: ");
    this.setWeight(Double.valueOf(input.nextLine()));
    System.out.print("Enter the breed of Cat: ");
    this.setBreed(input.nextLine());
    System.out.print("Does the cat have claws? True or False?: ");
    this.setDeclawed(!Boolean.valueOf(input.nextLine()));
}