Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
1 / 1 / 1
Регистрация: 15.01.2013
Сообщений: 128

Объясните работу метод fight()

12.07.2015, 16:00. Показов 5455. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Объясните пожалуйста как работает метод fight.
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
public class Solution {
    public static void main(String[] args) {
       Cat cat1=new Cat("John",2,2,2);
       Cat cat2=new Cat("Jack",3,3,3);
       Cat cat3=new Cat("James",4,4,4);
       System.out.println(cat1.fight(cat2));
       System.out.println(cat1.fight(cat3));
       System.out.println(cat3.fight(cat2));
    }
 
    public static class Cat {
 
        public static int count = 0;
        public static int fightCount = 0;
 
        protected String name;
        protected int age;
        protected int weight;
        protected int strength;
 
        public Cat(String name, int age, int weight, int strength) {
            count++;
 
            this.name = name;
            this.age = age;
            this.weight = weight;
            this.strength = strength;
        }
 
        public boolean fight(Cat anotherCat) {
            fightCount++;
 
            int agePlus = this.age > anotherCat.age ? 1 : 0;
            int weightPlus = this.weight > anotherCat.weight ? 1 : 0;
            int strengthPlus = this.strength > anotherCat.strength ? 1 : 0;
 
            int score = agePlus + weightPlus + strengthPlus;
            return score > 2; // return score > 2 ? true : false;
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2015, 16:00
Ответы с готовыми решениями:

Объясните работу программы
Не понимаю что происходит с 19 по 26 строку. Вот в цикле for each мы создаем переменную или объект? И потом метод применяется к e или он...

Объясните работу 2-х методов
Помогите с объяснением двух методов, OnSearch() , SelectNode

Объясните работу с БД
Вот скажите пожалуйста, например у DLE много файлов PHP но они используют все одну и ту же БД, не запрашивая все время пользователя и...

4
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.07.2015, 17:19

Не по теме:

мельчает Джавараш...


В метод файт передается объект Класса Кэт, с которым собственно будет проводиться "бой"
строка 31: увеличиваем счетчик боев
строка 33: если возраст нашего Кота больше возраста присланного Кота, то переменной agePlus присваиваем 1 очко , если присланный Кот старше то 0 очков
в строках 34 и 35 тоже самое, только сравнивается соответственно вес и сила
строка 37: подсчет результатов
строка 38: если общий счет больше 2 очков то возвращаем ИСТИНА, то бишь наш Барсик отмутузил пришлого выскочку, если меньше или равно то возвращает ЛОЖЬ и Барсик огреб от наглого пришлого котяры.

В твоей задаче кот по имени Джеймс гасит всех без проблем.
0
1 / 1 / 1
Регистрация: 15.01.2013
Сообщений: 128
12.07.2015, 18:03  [ТС]
спасибо,уже более менее понятно,но вот я на данном этапе сталкивался только с тем, что метод описывается так
Java
1
public void moveCircle(double a, double b)
,т.е. параметры метода описываются в скобках через запятую,а в данном примере
Java
1
public boolean fight(Cat anotherCat)
, не пойму что это за параметр

Добавлено через 13 минут
Вроде разобрался..
Java
1
public boolean fight(Cat anotherCat)
- здесь передается очередной объект класса Cat,а здесь
Java
1
int agePlus = this.age > anotherCat.age ? 1 : 0;
происходит сравнение с параметром объекта,который вызвал метод,с параметром объекта который мы отправляем в метод?правильно?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
12.07.2015, 18:15
Лучший ответ Сообщение было отмечено sulfur26 как решение

Решение

да все верно. В методе приходит новый Кот, это точно также как double b, просто приходит не примитив,а объект.
this.age > anotherCat.age ? 1 : 0; - это тернарный оператор, почитай про него, используют вместо if-else
this.age означает что берем поле именно родного объекта, а не присланного в параметре.
1
1 / 1 / 1
Регистрация: 15.01.2013
Сообщений: 128
12.07.2015, 18:26  [ТС]
я читал за него..просто изначально не понял сам параметр в методе и почему используется
Java
1
This
при сравнении.Теперь понятно.спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2015, 18:26
Помогаю со студенческими работами здесь

Объясните работу программы
Объясните, пожалуйста, следующий код: #include <stdio.h> int main() { int i, bit_a, bit_b; printf("bitwise OR...

Объясните работу программы
Почему для завершения цикла в данной программе нужно нажать EOF аж целых 5 раз? Почему если убрать строку scanf_s("%*"); то...

Объясните работу цикла while
Максимально просто объясните пожалуйста в чем суть while и примеры кодов в которых он омнрвной Спасибо)

объясните работу кода
<?php ## Замена по шаблону. $text = htmlspecialchars(file_get_contents(__FILE__)); $html = preg_replace('/(\$\w*)/is',...

Объясните работу программы
Код для решения ханойской башни с тремя стержнями: domains позиция = правый;средний;левый predicates ханой(integer) ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru