level06.lesson11.home07

Не понимаю смысл задания. Как-так Solution.name или Cat.name. name — это метод чтоли? Или это наподобии this.name? Нифига не могу понять, что такое .name.
package com.javarush.test.level06.lesson11.home07;

import java.util.ArrayList;

/* Три статические переменных name
Создай 3 public статических переменных: String Solution.name, String Cat.name, String Dog.name
*/

public class Solution
{
    public static class Cat {
    }

    public static class Dog {
    }
}

level06.lesson11.bonus02

package com.javarush.test.level06.lesson11.bonus02;

/* Нужно добавить в программу новую функциональность
Задача: У каждой кошки есть имя и кошка-мама. Создать класс, который бы описывал данную ситуацию. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран.
Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама. Изменить класс Cat так, чтобы он мог описать данную ситуацию.
Создать 6 объектов: маму, папу, сына, дочь, бабушку(мамина мама) и дедушку(папин папа).
Вывести их всех на экран в порядке: дедушка, бабушка, папа, мама, сын, дочь.

Пример ввода:
дедушка Вася
бабушка Мурка
папа Котофей
мама Василиса
сын Мурчик
дочь Пушинка

Пример вывода:
Cat name is дедушка Вася, no mother, no father
Cat name is бабушка Мурка, no mother, no father
Cat name is папа Котофей, no mother, father is дедушка Вася
Cat name is мама Василиса, mother is бабушка Мурка, no father
Cat name is сын Мурчик, mother is мама Василиса, father is папа Котофей
Cat name is дочь Пушинка, mother is мама Василиса, father is папа Котофей

*/

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


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

        String gfatherName = reader.readLine();
        Cat gfather = new Cat(gfatherName,null,null);

        String gmotherName = reader.readLine();
        Cat gmother = new Cat(gmotherName,null,null);

        String fatherName = reader.readLine();
        Cat father = new Cat(fatherName,gfather,null);

        String motherName = reader.readLine();
        Cat mother = new Cat(motherName,null,gmother);

        String mcatName = reader.readLine();
        Cat mcat = new Cat (mcatName,father,mother);

        String fcatName = reader.readLine();
        Cat fcat = new Cat(fcatName,father,mother);

        System.out.println(gfather);
        System.out.println(gmother);
        System.out.println(father);
        System.out.println(mother);
        System.out.println(mcat);
        System.out.print(fcat);
    }

    public static class Cat
    {
        private String name;
        private Cat m;
        private Cat f;

        Cat(String name, Cat f, Cat m)
        {
            this.name = name;
            this.f=f;
            this.m=m;


        }

        @Override
        public String toString()
        {
            if (m == null && f ==null)
                return "Cat name is " + name + ", no mother, no father ";
            else
            if(m==null && f !=null)
                return "Cat name is " + name + ", no mather, father is "+f.name;
            else
            if(f==null && m !=null)
                return "Cat name is " + name + ", mother is "+ m.name +", no father ";
            else
                return "Cat name is " + name + ", mother is "+ m.name + ", father is "+f.name;
        }
    }

}


Знаю, уже есть 100500 обсуждений этой задачи, но в комментах все молчат, помогите с задачей, вроде сделал всё, что можно и конструктор подправил, и print вместо println поставил, HELP!!!

level08.lesson11.bonus01

/* Номер месяца
Программа вводит с клавиатуры имя месяца и выводит его номер на экран в виде: «May is 5 month».
*/

public class Solution
{
public static void main(String[] args) throws IOException
{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String s=reader.readLine();
Date d=new Date(s+" 1 1999");
System.out.println(s +" is " + (d.getMonth()+1) + " month.");
}

}

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

level08.lesson11.bonus02

Так как мап, сделал чтоб нельзя было под одинаковый город несколько семей записать. Все равно не работает, пишет, что «Возникла ошибка во время работы программы». Может кто-нибудь намекнуть в чем косяк?
  • ,

level09.lesson11.home05

Помогите, пожалуйста, найти ошибку( При исполнении пишет: Exception in thread «main» java.lang.ArrayIndexOutOfBoundsException.

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

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

/* Гласные и согласные буквы
Написать программу, которая вводит с клавиатуры строку текста.
Программа должна вывести на экран две строки:
1. первая строка содержит только гласные буквы
2. вторая - только согласные буквы и знаки препинания из введённой строки.
Буквы соединять пробелом.

Пример ввода:
Мама мыла раму.
Пример вывода:
а а ы а а у
М м м л р м .
*/

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        //Написать тут ваш код
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String str = reader.readLine();

        char[] chars = str.toCharArray();

        List<Character> list1 = new ArrayList<Character>();
        List<Character> list2 = new ArrayList<Character>();

        for(int i : chars)
        {
            if(isVowel(chars[i]))
                list1.add(chars[i]);
            else
                list2.add(chars[i]);
        }


        for(int i : list1)
            System.out.print(list1.get(i) + " ");

        System.out.println("");

        for(int j : list2)
            System.out.print(list2.get(j) + " ");

    }


    public static char[] vowels = new char[]{'а', 'я', 'у', 'ю', 'и', 'ы', 'э', 'е', 'о', 'ё'};

    //метод проверяет, гласная ли буква
    public static boolean isVowel(char c)
    {
        c = Character.toLowerCase©;  //приводим символ в нижний регистр - от заглавных к строчным буквам

        for (char d : vowels)   //ищем среди массива гласных
        {
            if (c == d)
                return true;
        }
        return false;
    }
}

  • ,

level08.lesson11.bonus02

Возвращается с сервера «Программа не прошла тестирование.»
В чем может быть причина?!

package com.javarush.test.level08.lesson11.bonus02;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

/* Нужно добавить в программу новую функциональность
Задача: Программа определяет, какая семья (фамилию) живёт в доме с указанным номером.
Новая задача: Программа должна работать не с номерами домов, а с городами:
Пример ввода:
Москва
Ивановы
Киев
Петровы
Лондон
Абрамовичи

Лондон

Пример вывода:
Абрамовичи
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        Map<String, String> addresses = createAddresses();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.println(addresses.get(reader.readLine()));
    }

    private static Map<String, String> createAddresses() throws IOException
    {
        Map<String, String> result = new HashMap<String, String>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        while (true)
        {
            String city = reader.readLine();
            String name = reader.readLine();
            if (name.isEmpty() || city.isEmpty())
                break;
            result.put(city, name);
        }
        return result;
    }
}
  • ,

level08.lesson11.home03

1. Создать словарь Map (<String, String>) и добавить туда 10 человек в виде «Фамилия»-«Имя».
2. Пусть среди этих 10 человек есть люди с одинаковыми именами и/или фамилиями.
3. Вывести содержимое Map на экран.

Пишу:

public static Map<String, String> createPeopleList()
{
Map<String, String> map = new HashMap<String, String>();
map.put(«Горбачев»,«Алексей»);
map.put(«Чудинов»,«Константин»);
map.put(«Санников»,«Евгений»);
map.put(«Рыбцов»,«Сергей»);
map.put(«Рогачев»,«Василий»);
map.put(«Рычковский»,«Денис»);
map.put(«Скосырских»,«Александра»);
map.put(«Пузина»,«Елизавета»);
map.put(«Ерепанов»,«Денис»);
map.put(«Табулды»,«Константин»);

return map;
}

Но программа тестирование не проходит. Уже даже всем одинаковые имена забивал — тот же результат. Опять где-то неправильный формат вывода?

Методы из шаблона задания не трогал.