• ,

level05.lesson12.home02

Снова тест не пройден, хотя вывод правильный и условия соблюдены. сидел час над написанием. В чем может быть проблема?
Пробовал убрать методы toString()-выводить через println(), пробовал изменять константы с null на конкретные значения, еще что-то пробовал, ничего не помогает…

Код:

package com.javarush.test.level05.lesson12.home02;

/* Man and Woman
1. Внутри класса Solution создай public static классы Man и Woman.
2. У классов должны быть поля: name(String), age(int), address(String).
3. Создай конструкторы, в которые передаются все возможные параметры.
4. Создай по два объекта каждого класса со всеми данными используя конструктор.
5. Объекты выведи на экран в таком формате [name + " " + age + " " + address].
*/

public class Solution
{


    public static void main(String[] args)
    {
        Man vasya = new Man("Василий",17,"Москва");
        Man igor = new Man("Игорь",25,"Greece");
        Woman liza = new Woman("Елизавета",17,"USA");
        Woman sonya = new Woman("София",17,"Rome");
        System.out.println(vasya);
        System.out.println(igor);
        System.out.println(liza);
        System.out.println(sonya);
        // Выведи их на экран тут
    }

    public static class Man{
        final String nameStd=null;
        final int ageStd=20;
        final String addressStd=null;
        private String name;
        private int age;
        private String address;

        @Override
        public String toString() {
            return (this.name+" "+this.age+" "+this.address);
        }

        public Man(String name){
            this.name=name;
            this.age=ageStd;
            this.address = addressStd;
        }
        public Man(int age){
            this.name=nameStd;
            this.age=age;
            this.address = addressStd;
        }
        public Man(String name,int age){
            this.name=name;
            this.age=age;
            this.address = addressStd;
        }
        public Man(String name,String address){
            this.name=name;
            this.age=ageStd;
            this.address = address;
        }
        public Man(int age,String address){
            this.name=nameStd;
            this.age=age;
            this.address = address;
        }
        public Man(String name,int age,String address){
            this.name=name;
            this.age=age;
            this.address = address;
        }
    }


    public static class Woman{
        final String nameStd=null;
        final int ageStd=20;
        final String addressStd=null;
        private String name;
        private int age;
        private String address;

        @Override
        public String toString() {
            return (this.name+" "+this.age+" "+this.address);
        }

        public Woman(String name){
            this.name=name;
            this.age=ageStd;
            this.address = addressStd;
        }
        public Woman(int age){
            this.name=nameStd;
            this.age=age;
            this.address = addressStd;
        }
        public Woman(String name,int age){
            this.name=name;
            this.age=age;
            this.address = addressStd;
        }
        public Woman(String name,String address){
            this.name=name;
            this.age=ageStd;
            this.address = address;
        }
        public Woman(int age,String address){
            this.name=nameStd;
            this.age=age;
            this.address = address;
        }
        public Woman(String name,int age,String address){
            this.name=name;
            this.age=age;
            this.address = address;
        }
    }
}

  • ,

level03.lesson06.task04

Программа работает правильно, символы на выходе проверял 10 раз, но тест почему то не проходит, в чем может быть проблема ?


package com.javarush.test.level03.lesson06.task04;

/* Экранирование символов
Про экранирование символов в Java читайте в дополнительном материале к лекции.
Вывести на экран следующий текст - две строки:

It's Windows path: "C:\Program Files\Java\jdk1.7.0\bin"
It's Java string: \"C:\\Program Files\\Java\\jdk1.7.0\\bin\"


*/

public class Solution
{
    public static void main(String[] args)
    {
        System.out.println("It's Windows path: "+"\"C:\\Program Files\\Java\\jdk1.7.0\\bin"+"\"");
        System.out.println("It's Java string: "+"\\"+"\""  +"C:\\"+"\\"+"Program Files\\"+"\\"+"Java\\"+"\\"+"jdk1.7.0\\"+"\\"+"bin"+"\\"+"\"");


    }
}

level05.lesson05.task05 Вопрос о сути передачи информации

apublic class Solution {
public static void main(String[] args) {
Cat cat1 = new Cat(«Droopy», 10, 5, 40);
Cat cat2 = new Cat(«Droopy2», 10, 5, 42);
Cat cat3 = new Cat(«Droopy3», 10, 5, 43);
System.out.println(cat1.fight(cat2));
System.out.println(cat2.fight(cat3));
System.out.println(cat3.fight(cat1));
}
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;
}
}
}

level05.lesson05.task02

Помогите разобраться, как решить эту задачу и главное как сделать «Должно выполняться условие:
если cat1.fight(cat2) = true, то cat2.fight(cat1) = false» как вообще действует эта часть cat1.fight(cat2).

вот код того, что есть:

package com.javarush.test.level05.lesson05.task02;

/* Реализовать метод fight
Реализовать метод boolean fight(Cat anotherCat):
реализовать механизм драки котов в зависимости от их веса, возраста и силы.
Зависимость придумать самому. Метод должен определять, выиграли ли мы (this) бой или нет,
т.е. возвращать true, если выиграли и false — если нет.
Должно выполняться условие:
если cat1.fight(cat2) = true, то cat2.fight(cat1) = false
*/

public class Cat
{

public static void main(String[] args)
{

}

public String name;
public int age;
public int weight;
public int strength;

public Cat(String nam, int a, int b, int c)
{
name = nam;
age = a;
weight = b;
strength = c;

}

public boolean fight (Cat anotherCat)
{
Cat cat = new Cat («Tom», 7,10,10);
Cat cat2 = new Cat («Kom», 5,11, 9);

if ((cat.age + cat.weight +cat.strength)>(cat2.age + cat2.weight + cat2.strength))
return true;
else
return false;

}
}
  • ,

level07.lesson12.home02

Поясните пожалуйста почему не принимает такой код. Выводит всё как просили.
package com.javarush.test.level07.lesson12.home02;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Переставить M первых строк в конец списка
Ввести с клавиатуры 2 числа N и M.
Ввести N строк и заполнить ими список.
Переставить M первых строк в конец списка.
Вывести список на экран, каждое значение с новой строки.
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        //Напишите тут ваш код
        int n = Integer.parseInt(reader.readLine());
        int m = Integer.parseInt(reader.readLine());

        ArrayList<Integer> list = new ArrayList<Integer>();
        for (int i = 0; i < n; i++)
            list.add(Integer.parseInt(reader.readLine())); // создал список на n элементов

        for (int i = 0; i < m; i++)
        { list.add(list.get(i));      // перезаписываю m первых элементов в конец
            list.remove(i); }         // удаляю первые m элементов

        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));

    }
}