Предмет: Информатика, автор: dimawireless

Java. Сделайте программу для фитнес-трекера, которая будет регистрировать нового пользователя, создавая ему учетную запись, принимая следующие параметры:
Неизменные (задаются только при создании аккаунта, и могут быть получены только с помощью гетер):
Имя
Дата рождения (отдельно день, месяц, год)
Эмейл
Телефон
Изменяемые:
Фамилия
Вес
Давление
Количество пройденных за день шагов
Создавать каждого пользователя необходимо через конструктор, принимая все поля на вход конструктора.
Добавить метод printAccountInfo(), при вызове которого печатать все данные о пользователе
После приема года рождения - высчитывать возраст пользователя во внутреннюю переменную age (отталкиваясь просто от 2020 года, усложнять здесь не будем), на которую сделать только геттер и выводить на экран вместе с другими полями в методе printAccountInfo(); в конструкторе или геттерах/сеттерах не используем вывод в консоль.
В main-классе создать 3-5 пользователей и распечатать данные каждого по вызову метода printAccountInfo(); для двух пользователей изменить несколько полей и распечатать новые данные повторно

Ответы

Автор ответа: dmitriykleyshmidt
1

Ответ:

import java.time.LocalDate;

import java.time.Period;

public class User {

   private String name;

   private LocalDate birthday;

   private String email;

   private String phone;

   private String surname;

   private int weight;

   private int pressure;

   private int steps;

   private int age;

   public User(String name, LocalDate birthday, String email, String phone, String surname, int weight, int pressure, int steps) {

       this.name = name;

       this.birthday = birthday;

       this.email = email;

       this.phone = phone;

       this.surname = surname;

       this.weight = weight;

       this.pressure = pressure;

       this.steps = steps;

       this.age = Period.between(birthday, LocalDate.now()).getYears();

   }

   public String getName() {

       return name;

   }

   public LocalDate getBirthday() {

       return birthday;

   }

   public String getEmail() {

       return email;

   }

   public String getPhone() {

       return phone;

   }

   public String getSurname() {

       return surname;

   }

   public void setSurname(String surname) {

       this.surname = surname;

   }

   public int getWeight() {

       return weight;

   }

   public void setWeight(int weight) {

       this.weight = weight;

   }

   public int getPressure() {

       return pressure;

   }

   public void setPressure(int pressure) {

       this.pressure = pressure;

   }

   public int getSteps() {

       return steps;

   }

   public void setSteps(int steps) {

       this.steps = steps;

   }

   public int getAge() {

       return age;

   }

   public void printAccountInfo() {

       System.out.println("Name: " + name);

       System.out.println("Surname: " + surname);

       System.out.println("Birthday: " + birthday);

       System.out.println("Age: " + age);

       System.out.println("Email: " + email);

       System.out.println("Phone: " + phone);

       System.out.println("Weight: " + weight);

       System.out.println("Pressure: " + pressure);

       System.out.println("Steps: " + steps);

   }

}

public static void main(String[] args) {

   LocalDate birthday1 = LocalDate.of(1995, 4, 14);

   User user1 = new User("John", birthday1, "[email protected]", "123456", "Doe", 80, 120, 10000);

   LocalDate birthday2 = LocalDate.of(1988, 7, 22);

   User user2 = new User("Jane", birthday2, "[email protected]", "654321", "Doe", 60, 110, 8000);

   user1.printAccountInfo();

   user2.printAccountInfo();

   // Изменение параметров для двух пользователей

   user1.setSurname("Smith");

   user1.setWeight(85);

   user1.setPressure(125);

   user1.setSteps(12000);

   user2.setSurname("Johnson");

   user2.setWeight(65);

   user2.setPressure(115);

   user2.setSteps(9000);

   // Печать информации о пользователях

   user1.printAccountInfo();

   user2.printAccountInfo();

}


dimawireless: User user1 = new User("John", birthday1, "[email protected]", "123456", "Doe", 80, 120, 10000);
java: non-static variable this cannot be referenced from a static context
dimawireless: User user1 = new User("John", birthday1, "[email protected]", "123456", "Doe", 80, 120, 10000);
User user2 = new User("Jane", birthday2, "[email protected]", "654321", "Doe", 60, 110, 8000);
эти две строчки выделены и выдает такую ошибку, как можно исправить?
java: non-static variable this cannot be referenced from a static context
Похожие вопросы