Java - пользовательский ввод в метод main и вызов сеттера для main - PullRequest
0 голосов
/ 30 октября 2018

Это мое задание, если вы хотите его прочитать:

Создание проекта NetBeans. Создайте файл Java для КАЖДОГО из трех классов. Например, добавьте в свой проект новый файл с именем Book.java, а затем создайте новый класс с нуля в этом файле. Используйте свои UML-диаграммы в качестве руководства для написания кода. Переменные и методы из диаграмм будут частью каждого из ваших классов. Убедитесь, что ВСЕ ваши переменные объявлены как частные. Защитите ваши данные! Объекты хранят данные или информацию! Когда переменные объявлены как закрытые, вы можете защитить или защитить эту информацию, например, Pit Bull защищает кусок мяса. Никогда не допускайте хранения неверных данных в ваших объектах! В каждом методе 'set' убедитесь, что значение, переданное методу, находится в диапазоне, больше или равно минимуму и меньше или равно максимуме. Для строк вы можете проверить длину строки. Каждый метод 'set' должен иметь своего рода оператор 'if-else', назначать данные, когда это хорошо, и печатать информативное сообщение, когда передается неправильное значение. Метод setSize () класса Shoe присваивает значение '10' глобальной переменной размера, когда оно передается методу. Но это вывело бы «Размер обуви должен быть между 1 и 15» и НЕ изменило бы глобальную переменную, когда значение, такое как «437» было передано методу. Объявления приватных переменных создают стену вокруг ваших данных, а методы 'set' - это ворота, которые позволяют получать только 'хорошую' информацию. Ваш конструктор, который присваивает значения глобальным переменным, должен использовать методы 'set', так что вам НЕ нужно повторите те же проверки в конструкторе. Конструктор с параметрами NO может идти дальше и напрямую устанавливать значения по умолчанию в глобальные переменные. Тест Next Для каждого класса создайте метод main, который будет объявлять, создавать и использовать объект этого класса. Таким образом, main. Book.java будет объявлять, создавать и использовать объект Book, а два других класса будут делать то же самое. Используйте интерфейс командной строки и попросите пользователя ввести значение для КАЖДОЙ глобальной переменной. Вызовите конструктор или методы set и вставьте эту информацию в объект. Когда данные вставлены, используйте объект для вызова метода toString. и распечатать объект на консоли. Вы будете писать три основных метода, по одному для каждого класса. Когда вы тестируете, убедитесь, что ваши установленные методы НЕ допускают неверные данные в объект. Попытайтесь сделать так, чтобы это не сработало, посмотрите, можете ли вы вводить неверные значения в переменные. Чтобы убедиться, что вы завершили каждый класс, используйте этот контрольный список: _____ Три глобальные переменные (не одного типа) _____ Два метода конструктора _____ Три метода «get» _____ Три «набора» 'method_____ One' toString 'method_____ Один основной метод, который создает объект, присваивает значения и печатает объект

Моя проблема с этим заключается в том, что у меня есть все, что нужно, кроме пользовательского ввода, который я не уверен, куда поместить, а также где вызвать методы set, потому что я не уверен, как вызывать эти методы в моем main , Любая помощь будет принята с благодарностью.

Это то, что у меня есть для первого класса обуви:

 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 голосов
/ 30 октября 2018
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());
 }
...