Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
4 / 3 / 1
Регистрация: 07.11.2019
Сообщений: 330

Подправить код

19.10.2020, 11:06. Показов 1249. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, есть код, где есть класс OilWell, в нем есть проверка на то что нефтескважина введена в эксплуатацию, не больше чем 27 лет. Если больше то выбивает фразу "The oil well went out of operation", как сделать так чтобы эта фраза выводилась не сверху, а именно вместо даты?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import java.time.Year;
 
class OilWell {
 
    private String name;
    private int wellDepth;
    private int wellDiameter;
    private int DateOfWell;
    private int  wellFlow;
    private static int count = 0;
    private int id;
    
    OilWell () {
        count++;
        id = count;
    }
 
    OilWell(String n, int wd, int wdi, int DateOfWell, int wf){
        this.name = n;
        this.wellDepth = wd;
        this.wellDiameter = wdi;
        setDateOfWell(DateOfWell);
        this.wellFlow = wf;
        count++;
        id = count;
    }
 
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getWellDepth() {
        return wellDepth;
    }
    public void setWellDepth(int wellDepth) {
        this.wellDepth = wellDepth;
    }
    public double getWellDiameter() {
        return wellDiameter;
    }
    public void setWellDiameter(int wellDiameter) {
        this.wellDiameter = wellDiameter;
    }
    public int getDateOfWell() {
        return DateOfWell;
    }
    
    public void setDateOfWell(int DateOfWell) {
        int year = Year.now().getValue();
        if (year - DateOfWell >= 27) {
            System.out.println("0 = The oil well went out  of operation");
        } else 
        this.DateOfWell = DateOfWell;
    }
    public int getWellFlow() {
        return wellFlow;
    }
    
    public void setWellFlow(int wellFlow) {
        this.wellFlow = wellFlow;
    }
    
 
    public static int getCount() {
        return count;
    }
 
    public static void setCount(int count) {
        OilWell.count = count;
    }
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
    
    public String toString() {
        return "Oil well №" + id + " Name:  " + name + ", Well depth: " + wellDepth + ", Diameter of the well:  " + wellDiameter + ", Put into operation: " + DateOfWell + ", Well flow rate: " + wellFlow;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class main {
    
    public static void main(String[] args) {
        
        OilWell O1 = new OilWell("3-Novoskhodnytsiya", 4350, 480, 1996, 300);
        OilWell O2 = new OilWell("Shevchenkovo-1", 7520, 580, 1993, 480);
        OilWell O3 = new OilWell();
        O3.setName("Kupyansk");
        O3.setWellDepth(3520);
        O3.setWellDiameter(360);
        O3.setDateOfWell(1999);
        O3.setWellFlow(230);
        
        System.out.println(O1.toString().toUpperCase());
        System.out.println(O2.toString().toUpperCase());
        System.out.println(O3.toString().toUpperCase());
        System.out.println();
        
        OilWell[] mas = {O1, O2, O3};
        for (int i = 0; i < mas.length; i++) {
            System.out.println(mas[i].toString());
        }
    }
 
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2020, 11:06
Ответы с готовыми решениями:

Подправить легкую задачку с возрастами
Только начала учить Java. Помогите исправить Нужно что бы правильно вывод возраст при вводе.. например (15 лет, 34 года, 6 лет) что бы...

Подправить код
Добрый день, вот код. Как сделать чтобы метод вывода на экран видел матрицу, созданную в объекте? Чтобы выводилась наша матрица на экран. ...

Подправить код. Подключать клиентов до тех пор, пока не выполнится какое-либо условие
Доброго времени суток.Есть клиент-сервер, который принимает только четырех клиентов. Как изменить код так, чтобы сервер принимал клиентов,...

3
 Аватар для InvalidCode
295 / 470 / 86
Регистрация: 26.02.2018
Сообщений: 931
Записей в блоге: 2
19.10.2020, 11:53
Лучший ответ Сообщение было отмечено AlinkaP как решение

Решение

Цитата Сообщение от AlinkaP Посмотреть сообщение
public String toString() {
        return "Oil well №" + id + " Name:  " + name + ", Well depth: " + wellDepth + ", Diameter of the well:  " + wellDiameter + ", Put into operation: " + DateOfWell + ", Well flow rate: " + wellFlow;
    }
вместо вивода даті влепите тернарник:
Java
1
2
3
4
5
6
public String toString() {
        return "Oil well №" + id + " Name:  " + name + ", Well depth: " + wellDepth 
+ ", Diameter of the well:  " + wellDiameter + ", Put into operation: " 
+ (DateOfWell >= 27 ? "The oil well went out  of operation" : DateOfWell) 
+ ", Well flow rate: " + wellFlow;
    }
Ну и соответственно
Java
1
2
3
4
5
6
7
 public void setDateOfWell(int DateOfWell) {
        int year = Year.now().getValue();
        if (year - DateOfWell >= 27) {
            System.out.println("0 = The oil well went out  of operation");
        } else 
        this.DateOfWell = DateOfWell;
    }
нуно передалать как-то так
Java
1
2
3
4
 public void setDateOfWell(int DateOfWell) {
        int year = Year.now().getValue();
        this.DateOfWell =year - DateOfWell;
    }
0
4 / 3 / 1
Регистрация: 07.11.2019
Сообщений: 330
19.10.2020, 12:06  [ТС]
InvalidCode, Большое спасибо, то что надо)

Добавлено через 34 секунды
InvalidCode,
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
19.10.2020, 17:45
Цитата Сообщение от AlinkaP Посмотреть сообщение
в нем есть проверка
это не должно быть в классе Скважина и уж точно не в сеттере. красавица, если не начнешь читать про ооп сейчас, то дель будет гооораздо тяжелее((.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import java.time.Year;
 
public class Helper {
 
    public static void main(String[] args) {
        OilWell[] oilWells = {
                new OilWell("3-Novoskhodnytsiya", 4350, 480, 1996, 300),
                new OilWell("Shevchenkovo-1", 7520, 580, 1983, 480),
                new OilWell("Shevchenkovo-15", 7520, 580, 2005, 480),
        };
        AnalyticOilWell.printOilWellOnData(oilWells);
    }
}
 
class AnalyticOilWell {
 
    public static void printOilWellOnData(OilWell[] oilWells) {
        int thisYear = Year.now().getValue();
        for (OilWell tmp : oilWells) {
            if (thisYear - tmp.getDateOfWell() > 27)
                System.out.println(tmp + "\n" + "The oil well went out of operation<<<<<<<<<");
            else
                System.out.println(tmp);
        }
 
    }
}
 
class OilWell {
 
    private String name;
    private int wellDepth;
    private int wellDiameter;
    private int dateOfWell;
    private int wellFlow;
    private static int count = 1;
    private int id;
 
    OilWell() {
        id = count++;
        this.name = "OilWell #" + id;
    }
 
    public OilWell(String name, int wellDepth, int wellDiameter, int dateOfWell, int wellFlow) {
        id = count++;
        this.name = name;
        this.wellDepth = wellDepth;
        this.wellDiameter = wellDiameter;
        this.dateOfWell = dateOfWell;
        this.wellFlow = wellFlow;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public double getWellDepth() {
        return wellDepth;
    }
 
    public void setWellDepth(int wellDepth) {
        this.wellDepth = wellDepth;
    }
 
    public double getWellDiameter() {
        return wellDiameter;
    }
 
    public void setWellDiameter(int wellDiameter) {
        this.wellDiameter = wellDiameter;
    }
 
    public int getDateOfWell() {
        return dateOfWell;
    }
 
    public int getWellFlow() {
        return wellFlow;
    }
 
    public void setWellFlow(int wellFlow) {
        this.wellFlow = wellFlow;
    }
 
    public static int getCount() {
        return count;
    }
 
    public int getId() {
        return id;
    }
 
    @Override
    public String toString() {
        return "Oil well #" + id + " Name:  " + name + ", Well depth: " + wellDepth + ", Diameter of the well:  " + wellDiameter + ", Put into operation: " + dateOfWell + ", Well flow rate: " + wellFlow;
    }
}

да, сеттер для dateOfWell вообще не нужен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2020, 17:45
Помогаю со студенческими работами здесь

Подправить код
Помогите пожалуйста, нужно подправить код: /* Дана целочисленная квадратная матрица. Опередить: 1) произведение элементов в тех...

Подправить код
Сам код работает . Объясняю в чем именно проблема: Открываю файл txt текст загружается все нормально, удаляю символы. Сохраняю в doc ,...

Подправить код
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; const int n=10; float X; double sum(); int _tmain(int argc,...

Подправить код
Здравствуйте ! Я в С++ не очень разбираюсь , поэтому нужна помощь профессионалов. Есть код готовый , рабочий , нужно подправить под себя ....

Подправить код
Ввожу строку с 30 символов. Нужно вывести целое число и упорядочить за возростанием Добавлено через 39 секунд пример кода на фортран...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru