• ,

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;
        }
    }
}

  • ,

level05.lesson05.task02

В чем проблема, ребят ?(
Программа не проходит тестирование


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 String name;
    public int age;
    public int weight;
    public int strength;

    public Cat() {
        Cat cat1 = new Cat();
        Cat cat2 = new Cat();
        cat1.name="Vaska";
        cat1.age=18;
        cat1.weight=70;
        cat1.strength=56;
        cat2.name="Timoha";
        cat2.age=23;
        cat2.weight=78;
        cat2.strength=60;
        cat1.fight(cat2);
    }

    public boolean fight(Cat anotherCat) {
        /* Напишите тут ваш код */
        int k1=(this.age+this.weight+this.strength);
        int k2=(anotherCat.age+anotherCat.weight+anotherCat.strength);
        return (k1>k2);
    }
}

  • ,

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"+"\\"+"\"");


    }
}
  • ,

level09.lesson11.bonus03

Выводит все то что надо, но тестирование не проходит. в чем беда?

package com.javarush.test.level09.lesson11.bonus03;

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

/* Задача по алгоритмам
Задача: Пользователь вводит с клавиатуры список слов (и чисел). Слова вывести в возрастающем порядке, числа - в убывающем.
Пример ввода:
Вишня
1
Боб
3
Яблоко
2
0
Арбуз
Пример вывода:
Арбуз
3
Боб
2
Вишня
1
0
Яблоко
*/

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList<String> list = new ArrayList<String>();
        while (true)
        {
            String s = reader.readLine();
            if (s.isEmpty()) break;
            list.add(s);
        }

        String[] array = list.toArray(new String[list.size()]);
        sort(array);

        for (String x : array)
        {
            System.out.println(x);
        }
    }

    public static void sort(String[] array)
    {
        int[] mas = new int[array.length];
        int[] mas2 = new int[array.length];
        int m =0, n=0;
        for (int i = 0; i < array.length; i++) {
           if(isNumber(array[i])){
               mas[m]=i;
               m++;
           }else {mas2[n]=i; n++;}
        }

        String x;
        for (int i = 0; i < n-1; i++) {
            for (int j = i; j <n ; j++) {
                if(isGreaterThen(array[mas2[i]],array[mas2[j]])){
                    x=array[mas2[i]];
                    array[mas2[i]]=array[mas2[j]];
                    array[mas2[j]]=x;

                }
            }
        }
        for (int i = 0; i < n-1; i++) {
            for (int j = i; j <n ; j++) {
                if(!isGreaterThen(array[mas[i]],array[mas[j]])){
                    x=array[mas[i]];
                    array[mas[i]]=array[mas[j]];
                    array[mas[j]]=x;

                }
            }
        }


    }

    //Метод для сравнения строк: 'а' больше чем 'b'
    public static boolean isGreaterThen(String a, String b)
    {
        return a.compareTo(b) > 0;
    }


    //строка - это на самом деле число?
    public static boolean isNumber(String s)
    {
        if (s.length() == 0) return false;

        for (char c : s.toCharArray())
        {
            if (!Character.isDigit© && c != '-') return false;
        }
        return true;
    }


}

level12.lesson12.home09

Не проходит проверку.


package com.javarush.test.level12.lesson12.home09;

/* Родитель класса CTO
Добавь такой класс-родитель к классу CTO(технический директор), чтобы класс перестал быть абстрактным.
Добавлять/реализовывать методы в классе CTO запрещается.
*/

public class Solution
{

    public static void main(String[] args)
    {
        CTO cto = new CTO();
        System.out.println(cto);
    }

    public static interface Businessman
    {
        public void workHard();
    }

    public static class CTO extends Solution
    {

    }


}

  • ,

помогите, не понимаю. Не проходит тестирование(

package com.javarush.test.level07.lesson04.task02;

/* Массив из строчек в обратном порядке
1. Создать массив на 10 строчек.
2. Ввести с клавиатуры 8 строчек и сохранить их в массив.
3. Вывести содержимое всего массива (10 элементов) на экран в обратном порядке. Каждый элемент - с новой строки.
*/

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

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        ArrayList<String> list = new ArrayList<String>();

        BufferedReader readerList = new BufferedReader(new InputStreamReader(System.in));

        for (int i = 0; i < 8; i++){
            list.add(readerList.readLine());
        }

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


при создании нового листа, должно быть 10 элементов, так как по дефолту capasity равно 10. При попытки вывода, выводит только те элементы что мы вводили (1-8). Как добиться того чтоб выводило 9 и 10-ый элемент null. Если задать цикл вывода через size() то их не выводит, если задать явно 10 то выкидывает ошибку

level07.lesson09.task01

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


/* Три массива
1. Введи с клавиатуры 20 чисел, сохрани их в список и рассортируй по трём другим спискам:
Число делится на 3 (x%3==0), делится на 2 (x%2==0) и все остальные.
Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка.
2. Метод printList должен выводить на экран все элементы списка  с новой строки.
3. Используя метод printList выведи эти три списка на экран. Сначала тот, который для x%3, потом тот, который для x%2, потом последний.
*/ public static void main(String[] args) throws Exception
    {
        //add your code here
        ArrayList<Integer> BigList = new ArrayList<Integer>();
        ArrayList<Integer> SmallList2 = new ArrayList<Integer>();
        ArrayList<Integer> SmallList3 = new ArrayList<Integer>();
        ArrayList<Integer> SmallListOther = new ArrayList<Integer>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        for (int i=0; i<20; i++)
        {
            BigList.add(Integer.parseInt(reader.readLine()));
        }
        for (int i=0; i<20; i++)
        {
            if (BigList.get(i)%3==0 && BigList.get(i)%2==0 && BigList.get(i)!=0)
            {
                SmallList3.add(BigList.get(i));
                SmallList2.add(BigList.get(i));
            }
                else if(BigList.get(i)%2==0 && BigList.get(i)!=0) SmallList2.add(BigList.get(i));
                else if(BigList.get(i)%3==0 && BigList.get(i)!=0) SmallList3.add(BigList.get(i));
            else SmallListOther.add(BigList.get(i));
        }
        printList(SmallList3);
        printList(SmallList2);
        printList(SmallListOther);
    }
    public static void printList(List<Integer> list) {
        //add your code here
        for(int i=0; i<list.size(); i++)
        {
            System.out.println(list.get(i));
        }
    }