Главная » Статьи » JavaRush

Статические переменные
package com.javarush.test.level06.lesson08.task01;

/* Класс Cat и статическая переменная catCount
Создать статическую переменную int catCount в классе Cat. Создай конструктор 
[public Cat()], в котором увеличивай данную переменную на 1.
*/

public class Cat
{
 private static int catCount = 0;

 public Cat(){
 Cat.catCount++;
 }

}

#####################################################################

package com.javarush.test.level06.lesson08.task02;

/* Статические методы: int getCatCount() и setCatCount(int)
Добавить к классу Cat два статических метода: int getCatCount() и setCatCount(int), с помощью которых можно получить/изменить количество котов (переменную catCount)
*/

public class Cat
{
 private static int catCount = 0;

 public Cat()
 {
 catCount++;
 }

 public static int getCatCount()
 {
 return Cat.catCount; //напишите тут ваш код

 }

 public static void setCatCount(int catCount)
 {
 Cat.catCount=catCount;//напишите тут ваш код

 }

}

####################################################################

package com.javarush.test.level06.lesson08.task03;

/* Класс Util
Реализовать статический метод double getDistance(x1, y1, x2, y2). Он должен вычислять расстояние между точками.
Используй метод double Math.sqrt(double a), который вычисляет квадратный корень переданного параметра
*/

public class Util
{
 public static double getDistance(int x1, int y1, int x2, int y2)
 {
 //AB = √(xb - xa)2 + (yb - ya)2
 //корень из (х2 - х1)квадрат + (y2- y1)квадрат
 return Math.sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));

 }
}

###################################################################

package com.javarush.test.level06.lesson08.task04;

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

/* Класс ConsoleReader
Сделать класс ConsoleReader, у которого будут 4 статических метода:
String readString() – читает с клавиатуры строку
int readInt() – читает с клавиатуры число
double readDouble() – читает с клавиатуры дробное число
boolean readBoolean() – читает с клавиатуры строку "true" или "false" и возвращает соответствующую логическую переменную true или false
Внимание: создавайте переменную для чтения данных с консоли (BufferedReader или Scanner) внутри каждого метода
*/

public class ConsoleReader
{
 public static String readString() throws Exception
 {
 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 String str = reader.readLine();
 return str;//напишите тут ваш код

 }

 public static int readInt() throws Exception
 {
 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 int ch = Integer.parseInt(reader.readLine());
 return ch;//Напишите тут ваш код

 }

 public static double readDouble() throws Exception
 {
 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 double db = Double.parseDouble(reader.readLine());//Напишите тут ваш код
 return db;
 }

 public static boolean readBoolean() throws Exception
 {
 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 return Boolean.parseBoolean(reader.readLine());
 }
}

#############################################################

package com.javarush.test.level06.lesson08.task05;

/* Класс StringHelper
Cделать класс StringHelper, у которого будут 2 статических метода:
String multiply(String s, int count) – возвращает строку повторенную count раз.
String multiply(String s) – возвращает строку повторенную 5 раз.
Пример:
Амиго -> АмигоАмигоАмигоАмигоАмиго
*/

public class StringHelper
{
 public static String multiply(String s, int count)
 {
 String result = "";
 for (int i = 0; i < count; i++)
 result += s;//напишите тут ваш код
 return result;
 }
 public static String multiply(String s)
 {
 String result = "";
 for (int i = 0; i < 5; i++)
 result += s;//напишите тут ваш код
 return result;
 }
}

###########################################################

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

/* Класс Cat и статическая переменная catCount
В классе Cat создай статическую переменную public int catCount.
Создай конструктор [public Cat()]. Пусть при каждом создании кота (нового объекта Cat) статическая переменная
catCount увеличивается на 1. Создать 10 объектов Cat и вывести значение переменной catCount на экран.
*/

public class Solution
{
 public static void main(String[] args)
 {
 for (int i = 0; i < 10; i++)
 {
 Cat cat = new Cat();//Cоздай тут 10 объектов Cat
 }
 System.out.println(Cat.catCount);//Выведи тут на экран catCount
 }

 public static class Cat
 {
 public static int catCount = 0;//Cоздай тут статическую переменную

 public Cat()
 {
 Cat.catCount++;//Создай тут конструктор
 }

 }
}

##########################################################################

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

import java.util.ArrayList;

/* Статические коты
1. В классе Cat добавь public статическую переменную cats (ArrayList<Cat>).
2. Пусть при каждом создании кота (нового объекта Cat) в переменную cats 
добавляется этот новый кот. Создать 10 объектов Cat.
3. Метод printCats должен выводить всех котов на экран. Нужно использовать переменную cats.
*/

public class Cat {
 public Cat() {
 }
 public static ArrayList<Cat> cats = new ArrayList<Cat>();//напишите тут ваш код

 public static void main(String[] args) {
 for (int i=0;i<10;i++){
 Cat cat = new Cat();
 cats.add(cat);
 }//Создай тут 10 котов
 printCats();
 }

 public static void printCats() {
 for (int i=0;i<cats.size();i++) {
 System.out.println(cats.get(i));
 }//Добавь свой код для пункта 3 тут
 }
}

############################################################

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

/* Минимальное количество static-ов
Расставьте минимальное количество static-ов, чтобы код начал работать, и программа успешно завершилась
*/

public class Solution
{
 public static int step;

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

 public static void method1() {
 method2();
 }


 public static void method2() {
 new Solution().method3();
 }

 public void method3() {
 method4();
 }

 public void method4() {
 step++;
 for (StackTraceElement element : Thread.currentThread().getStackTrace())
 System.out.println(element);
 if (step > 1) return;
 main(null);
 }
}

#############################################################

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

/* Есть новые идеи? Подумаем...
1. В классе Solution создать public статический класс Idea
2. В классе Idea создать метод public String getDescription(), который будет возвращать любой непустой текст
3. В классе Solution создайте статический метод public void printIdea(Idea idea), который будет выводить
на экран описание идеи - это то, что возвращает метод getDescription
*/
public class Solution
{
 public static void main(String[] args)
 {
 printIdea(new Idea());
 }
 public static void printIdea(Idea idea)
 {
 System.out.println(idea.getDescription());
 }

 //добавьте класс Idea тут
 public static class Idea
 {
 public String getDescription()
 {
 return "TEST";
 }
 }
}

##########################################################################

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

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

/* Нужно добавить в программу новую функциональность
Задача: У каждой кошки есть имя и кошка-мама. Создать класс,
 который бы описывал данную ситуацию.
Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран.
Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама.
 Изменить класс 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 папа Котофей
*/

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

 String grandFatherName = reader.readLine();
 Cat catGrandFather = new Cat(grandFatherName);

 String granMotherName = reader.readLine();
 Cat catGrandMother = new Cat(granMotherName);

 String fatherName = reader.readLine();
 Cat catFather = new Cat(fatherName,catGrandFather,null);

 String motherName = reader.readLine();
 Cat catMother = new Cat(motherName,null, catGrandMother);

 String sonName = reader.readLine();
 Cat catSon = new Cat(sonName, catFather, catMother);

 String daughterName = reader.readLine();
 Cat catDaughter = new Cat(daughterName, catFather, catMother);


 System.out.println(catGrandFather);
 System.out.println(catGrandMother);
 System.out.println(catFather);
 System.out.println(catMother);
 System.out.println(catSon);
 System.out.print(catDaughter);

 }

 public static class Cat
 {
 private String name;
 private Cat pap;
 private Cat mam;


 Cat(String name)
 {
 this.name = name;
 }

 Cat(String name, Cat pap, Cat mam)
 {
 this.name = name;
 this.pap = pap;
 this.mam = mam;
 }

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

}

######################################################

 

 

 

 

 

 

Категория: JavaRush | Добавил: kuzma (02.02.2017)
Просмотров: 1464 | Теги: JavaRush -решение заданий по теме с | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

Программирование игр на Python

Django - создание сайтов с нуля

Javascript - просто используем готовые решения