Баламут Чума (balamut4uma) wrote,
Баламут Чума
balamut4uma

Javarush. Уровен 8. Часть 3

Уровен 8. Часть 3
package com.javarush.test.level08.lesson11.home01;

import java.util.HashSet;
import java.util.Set;
import java.util.Iterator;

/* Set из котов
1. Внутри класса Solution создать public static класс кот – Cat.
2. Реализовать метод createCats, он должен создавать множество (Set) котов и добавлять в него 3 кота.
3. В методе main удалите одного кота из Set cats.
4. Реализовать метод printCats, он должен вывести на экран всех котов, которые остались во множестве. Каждый кот с новой строки.
*/

public class Solution
{
public static void main(String[] args)
{
Set cats = createCats();

//напишите тут ваш код. пункт 3
Iterator iterator = cats.iterator();
cats.remove(iterator.next());

printCats(cats);
}

public static Set createCats()
{
//напишите тут ваш код. пункт 2
Set cats = new HashSet();
Cat cat = new Cat(); //создал объекты-котов
Cat cat1 = new Cat();
Cat cat2 = new Cat();

cats.add(cat); // добавил объекты в множество
cats.add(cat1);
cats.add(cat2);
return cats;

}

public static void printCats(Set cats)
{
// пункт 4
for (Cat p : cats)
{
System.out.println(p);
}
}

// пункт 1
public static class Cat {

}
}


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

import java.util.HashSet;
import java.util.Set;
import java.util.*;

/* Множество всех животных
1. Внутри класса Solution создать public static классы Cat, Dog.
2. Реализовать метод createCats, котороый должен возвращать множество с 4 котами.
3. Реализовать метод createDogs, котороый должен возвращать множество с 3 собаками.
4. Реализовать метод join, котороый должен возвращать объединенное множество всех животных - всех котов и собак.
5. Реализовать метод removeCats, котороый должен удалять из множества pets всех котов, которые есть в множестве cats.
6. Реализовать метод printPets, котороый должен выводить на экран всех животных, которые в нем есть. Каждое животное с новой строки
*/

public class Solution
{
public static void main(String[] args)
{
Set cats = createCats();
Set dogs = createDogs();

Set pets = join(cats, dogs);
printPets(pets);

removeCats(pets, cats);
printPets(pets);
}

public static Set createCats()
{
HashSet result = new HashSet();

//напишите тут ваш код
result.add(new Cat());
result.add(new Cat());
result.add(new Cat());
result.add(new Cat());
return result;
}

public static Set createDogs()
{
//напишите тут ваш код
HashSet result = new HashSet();
result.add(new Dog());
result.add(new Dog());
result.add(new Dog());
return result;
}

public static Set join(Set cats, Set dogs)
{
//напишите тут ваш код
Set result = new HashSet();

result.addAll(cats);
result.addAll(dogs);

return result;
}

public static void removeCats(Set pets, Set cats)
{
//напишите тут ваш код
pets.removeAll(cats);

}

public static void printPets(Set pets)
{
//напишите тут ваш код
Iteratoriterator = pets.iterator();
while (iterator.hasNext()){
Object o = iterator.next();
System.out.println(o);
}
}

//напишите тут ваш код
public static class Cat {

}

public static class Dog {

}

}

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

import java.util.HashMap;
import java.util.Map;

/* Люди с одинаковыми именами и/или фамилиями
1. Создать словарь Map () и добавить туда 10 человек в виде "Фамилия"-"Имя".
2. Пусть среди этих 10 человек есть люди с одинаковыми!!! именами.
3. Пусть среди этих 10 человек есть люди с одинаковыми!!! фамилиями.
4. Вывести содержимое Map на экран.
*/

public class Solution
{
public static void main(String[] args)
{
Map map = createPeopleList();
printPeopleList(map);
}

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

return map;
}

public static void printPeopleList(Map map)
{
for (Map.Entry s : map.entrySet())
{
System.out.println(s.getKey() + " " + s.getValue());
}
}

}

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

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

/* Минимальное из N чисел
1. Ввести с клавиатуры число N.
2. Считать N целых чисел и заполнить ими список - метод getIntegerList.
3. Найти минимальное число среди элементов списка - метод getMinimum.
*/

public class Solution
{
public static void main(String[] args) throws Exception {

List integerList = getIntegerList();
System.out.println(getMinimum(integerList));
}

public static int getMinimum(List array) {
// Найти минимум
int res = array.get(0);
for (Integer i : array)
{
if (i < res) res = i;
}
return res;
}

public static List getIntegerList() throws IOException {
//Тут создать и заполнить список
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int nNum = Integer.parseInt(reader.readLine());
List list = new ArrayList();
for (int i = 0; i < nNum; i++)
{
list.add(Integer.parseInt(reader.readLine()));
}
return list;
}
}


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

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 s = reader.readLine();

//напишите тут ваш код
char [] ch = s.toCharArray();
if (Character.isLetter(ch[0]))
ch[0] = Character.toUpperCase(ch[0]);
for (int i = 1; i ).
2. Создай объекты и заполни их так, чтобы получилось: два дедушки, две бабушки, отец, мать, трое детей.
3. Вывести все объекты Human на экран.
*/

public class Solution
{
public static void main(String[] args)
{
//напишите тут ваш код
ArrayList children = new ArrayList();
// Дети
children.add(new Human("Son1",true,15,new ArrayList()));
children.add(new Human("Son1",true,10,new ArrayList()));
children.add(new Human("Dougter",false,12,new ArrayList()));
// мама и папа
Human father = new Human("Father",true,36,children);
Human mother = new Human("Mother",true,31,children);
// мама и папа это дети дедушек и бабушек
ArrayList children1 = new ArrayList();
children1.add(new Human("Father",false,36,children));
ArrayList children2 = new ArrayList();
children2.add(new Human("Mother",false,31,children));
// дудушка и бабушка - родители папы
Human Ded1 = new Human("Ded1",true,57,children1);
Human Baba1 = new Human("Baba1",true,52,children1);
// дудушка и бабушка - родители мамы
Human Ded2 = new Human("Ded2",true,37,children2);
Human Baba2 = new Human("Baba2",true,32,children2);

System.out.println(Ded1);
System.out.println(Baba1);
System.out.println(Ded2);
System.out.println(Baba2);
System.out.println(father);
System.out.println(mother);
for (Human x : children) {
System.out.println(x);
}

}

public static class Human
{
//напишите тут ваш код
private String name;
private boolean sex;
private int age;
ArrayList children = new ArrayList();

Human(String name, boolean sex, int age, ArrayList children) {
this.name = name;
this.sex = sex;
this.age = age;
this.children.addAll(children);
}

public String toString()
{
String text = "";
text += "Имя: " + this.name;
text += ", пол: " + (this.sex ? "мужской" : "женский");
text += ", возраст: " + this.age;

int childCount = this.children.size();
if (childCount > 0)
{
text += ", дети: "+this.children.get(0).name;

for (int i = 1; i < childCount; i++)
{
Human child = this.children.get(i);
text += ", "+child.name;
}
}

return text;
}
}

}


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

/* Переставь один модификатор static
Переставь один модификатор static, чтобы пример скомпилировался.
*/

// до перестановки

public class Solution
{
public int A = 5;
public static int B = 2;

public int C = A*B;
public static int D = B*A;

public static void main(String[] args)
{
}

public static int getValue()
{
return D;
}

public int getValue2()
{
return C;
}
}

// После перестановки

public class Solution
{
public static int A = 5;
public static int B = 2;

public int C = A*B;
public static int D = B*A;

public void main(String[] args)
{
}

public static int getValue()
{
return D;
}

public int getValue2()
{
return C;
}
}

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

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

/* Пять наибольших чисел
Создать массив на 20 чисел. Заполнить его числами с клавиатуры. Вывести пять наибольших чисел.
*/

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[20];
for (int i = 0; i < array.length; i++)
{
array[i] = Integer.parseInt(reader.readLine());
}

sort(array);

System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
}

public static void sort(int[] array)
{
//напишите тут ваш код
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length-1; j++) {
int insert;
if(array[j+1] > array[j]){
insert = array[j+1];
array[j+1] = array[j];
array[j] = insert;
}
}
}
}
}

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

import java.util.Date;

/* Работа с датой
1. Реализовать метод isDateOdd(String date) так, чтобы он возвращал true, если количество дней с начала года - нечетное число, иначе false
2. String date передается в формате MAY 1 2013
Не забудьте учесть первый день года.
Пример:
JANUARY 1 2000 = true
JANUARY 2 2020 = false
*/

public class Solution
{
public static void main(String[] args)
{
String sDate = "JANUARY 1 2000";
System.out.println(sDate + " = " + isDateOdd(sDate));
sDate = "JANUARY 2 2020";
System.out.println(sDate + " = " + isDateOdd(sDate));
sDate = "MAY 1 2013";
System.out.println(sDate + " = " + isDateOdd(sDate));


}

public static boolean isDateOdd(String date)
{
Date yearStartTime = new Date(date);
yearStartTime.setHours(0);
yearStartTime.setMinutes(0);
yearStartTime.setSeconds(0);

yearStartTime.setDate(1);
yearStartTime.setMonth(0);
Date currentTime = new Date(date);
long msTimeDistance = currentTime.getTime() - yearStartTime.getTime();
long msDay = 24 * 60 * 60 * 1000;
int dayCount = (int) (msTimeDistance/msDay);
if(dayCount%2 == 0)
return true;
else
return false;
}
}

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

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

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

public class Solution {
public static void main(String[] args) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap mapDate = new HashMap();
for (int i = 0; i < 12; i++){
String sMonth = reader.readLine();
String sDate = sMonth + " 1 1";
Date dDate = new Date(sDate);
sMonth = sMonth.toUpperCase().substring(0,1) + sMonth.toLowerCase().substring(1);
mapDate.put(sMonth,dDate.getMonth()+1);
}
for (Map.Entry pair : mapDate.entrySet())
{
System.out.println(pair.getKey() + " is " + pair.getValue() + " month");
}
}
}
// не прошло тестирование

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

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

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

public class Solution {
public static void main(String[] args) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Map map = new HashMap();
map.put("January", 1);
map.put("February", 2);
map.put("March", 3);
map.put("April", 4);
map.put("May", 5);
map.put("June", 6);
map.put("July", 7);
map.put("August", 8);
map.put("September", 9);
map.put("October", 10);
map.put("November", 11);
map.put("December", 12);
String month = reader.readLine();
System.out.println(month + " is " + map.get(month) + " month");
}
}

// прошло тестирование

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

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

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

Лондон

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

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

//list of addresses
List addresses = new ArrayList();
Map map = new HashMap();
while (true) {
String city = reader.readLine();
if (city.isEmpty()) break;
String family = reader.readLine();
map.put(city,family);
}

String currentcity = reader.readLine();
System.out.println(map.get(currentcity));
}
}

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

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

/* Задача по алгоритмам
Задача: Введи с клавиатуры 20 слов и выведи их в алфавитном порядке.
*/

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String[] array = new String[20];
for (int i = 0; i < array.length; i++)
{
array[i] = reader.readLine();
}

sort(array);

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

public static void sort(String[] array)
{
//напишите тут ваш код
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length-1; j++) {
String insert;
String a = array[j+1].substring(0,1);
String b = array[j].substring(0,1);
if( isGreaterThan(a,b) ){
insert = array[j+1];
array[j+1] = array[j];
array[j] = insert;
}
}
}
}

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

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

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

/* Задача по алгоритмам
Задача: Введи с клавиатуры 20 слов и выведи их в алфавитном порядке.
*/

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String[] array = new String[20];
for (int i = 0; i < array.length; i++)
{
array[i] = reader.readLine();
}

sort(array);

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

public static void sort(String[] array)
{
for(int i=0;i 0;
}
}
#java #программирование #javarush #баламутчума
#баламутчумаjava #баламутчумапрограммирование #баламутчумаjavarush
Метки: java, программирование, javarush
Tags: #java, #javarush, #баламутчума, #баламутчумаjava, #баламутчумаjavarush, #баламутчумапрограммирование, #программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments