Java-用户在main方法中输入内容并调用setter给main

时间:2018-10-30 05:24:21

标签: java setter

如果您想阅读,这是我的作业:

创建一个NetBeans项目。为三个类的EACH创建一个Java文件。例如,向您的项目中添加一个名为Book.java的新文件,然后在该文件中从头开始创建新类。使用您的UML图作为编写代码的准则。图中的变量和方法将成为您每个类的一部分。确保所有变量都声明为私有。保护数据!对象存储数据或信息!当变量被声明为私有时,您可以保护或保护像斗牛犬这样的信息来保护一块肉。切勿将不良数据存储在对象中!在每个“设置”方法中,确保传递给该方法的值在范围内,大于或等于最小值,小于或等于最大值。对于字符串,您可以检查字符串的长度。每个“ set”方法都应具有某种“ if-else”语句,在状态良好时分配数据,并在传递不正确的值时输出提示性消息。当将Shoe类的setSize()方法传递给方法时,它将为size全局变量分配值“ 10”。但是,当将诸如“ 437”的值传递给该方法时,它将打印“ Shoe size必须介于1到15之间”,并且不会更改全局变量。私有变量声明在您的数据周围筑起一堵墙,而“ set”方法是仅允许“良好”信息进入的大门。将值分配给全局变量的构造函数应使用“ set”方法,因此您不必在构造函数中重复相同的检查。没有参数的构造函数可以直接将默认值设置为全局变量。测试下一个对于每个类,创建一个主要方法,该方法将声明,构建和使用该类的对象。因此,Book.java主程序将声明,构建和使用Book对象,而其他两个类将执行相同的操作。使用命令行界面,并要求用户输入EACH全局变量的值。调用构造函数或set方法,然后将该信息插入对象。插入数据后,使用该对象调用toString方法 并将对象打印到控制台。您将编写三个主要方法,每个类一个。在测试时,请确保您设置的方法不允许将不良数据导入对象。尝试使它失败,看看是否可以将不良值潜入变量中。为确保完成每个类,请使用此清单:_____三个全局变量(类型不同)_____两个构造函数方法_____三个“获取”方法_____三个“ set” 'methods_____一个'toString'方法_____一个创建对象,分配值并打印对象的主要方法

我的问题是,除了用户输入(我不确定在哪里放置以及在何处调用set方法)之外,我已经拥有所有需要的东西,因为我不确定如何在我的主设备中调用这些方法。任何帮助将不胜感激。

这是我到目前为止第一堂鞋类的内容:

 public class Shoe {

private String brand;
private String color;
private int size;
public Shoe() { 

}
//every setter should have one check
public Shoe(int size, String brand, String color) {
    this.color = color;
    this.brand = brand;
    this.size = size;

}

public int getSize() {
    return size;
}

public void setSize(int size) {
 this.size = size;
    if(size<1 || size>20){
        System.out.println("Invalid");
    }

}

public String getBrand() {
    return brand;
}

public void setBrand(String brand) {
    this.brand = brand;
    if (brand.length()>20 || brand.length()<3)
        System.out.println("Invalid Name");
}

public String getColor() {
    return color;
}

public void setColor(String color) {
    this.color = color;
    if (color.length()>15 || color.length()<3)
        System.out.println("Invalid Color");
}

      @Override
   public String toString(){
return "size is " + this.size + " \nbrand is " + this.brand + " \ncolor is " 
    + this.color;


    }
      public static void main(String[] args){
     Shoe s = new Shoe();
     System.out.println(s.toString());
 }

}

1 个答案:

答案 0 :(得分:0)

public static void main(String[] args){
     Shoe s = new Shoe();
    Scanner scan= new Scanner(System.in);
    System.out.print("Enter show brand :");
    s.setBrand(scan.next());
    System.out.print("Enter show color :");
    s.setBrand(scan.next());
    System.out.print("Enter show Size :");
    s.setBrand(scan.nextInt());
    System.out.println(s.toString());
 }