├── .gitignore
├── README.md
├── license.txt
└── src
└── com
└── javarush
└── test
├── level02
└── lesson08
│ ├── task03
│ └── Solution.java
│ ├── task04
│ └── Solution.java
│ ├── task05
│ └── Solution.java
│ └── task06
│ └── Solution.java
├── level03
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson08
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson12
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ └── home03
│ └── Solution.java
├── level04
├── lesson02
│ ├── task01
│ │ └── Cat.java
│ ├── task02
│ │ └── Cat.java
│ ├── task03
│ │ └── Cat.java
│ ├── task04
│ │ └── Cat.java
│ └── task05
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ ├── task05
│ │ └── Solution.java
│ └── task06
│ │ └── Solution.java
├── lesson10
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson13
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson16
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ └── home04
│ └── Solution.java
├── level05
├── lesson05
│ ├── task01
│ │ └── Cat.java
│ ├── task02
│ │ └── Cat.java
│ ├── task03
│ │ └── Dog.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson07
│ ├── task01
│ │ └── Friend.java
│ ├── task02
│ │ └── Cat.java
│ ├── task03
│ │ └── Dog.java
│ ├── task04
│ │ └── Circle.java
│ └── task05
│ │ └── Rectangle.java
├── lesson09
│ ├── task01
│ │ └── Friend.java
│ ├── task02
│ │ └── Cat.java
│ ├── task03
│ │ └── Dog.java
│ ├── task04
│ │ └── Circle.java
│ └── task05
│ │ └── Rectangle.java
└── lesson12
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ └── home05
│ └── Solution.java
├── level06
├── lesson05
│ ├── task01
│ │ └── Cat.java
│ ├── task02
│ │ └── Cat.java
│ ├── task03
│ │ └── Solution.java
│ └── task04
│ │ └── Cat.java
├── lesson08
│ ├── task01
│ │ └── Cat.java
│ ├── task02
│ │ └── Cat.java
│ ├── task03
│ │ └── Util.java
│ ├── task04
│ │ └── ConsoleReader.java
│ └── task05
│ │ └── StringHelper.java
└── lesson11
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Cat.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ └── home07
│ └── Solution.java
├── level07
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson09
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson12
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ └── home07
│ └── Solution.java
├── level08
├── lesson03
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ ├── task05
│ │ └── Solution.java
│ └── task06
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson08
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson11
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ └── home09
│ └── Solution.java
├── level09
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson11
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ └── home09
│ └── Solution.java
├── level10
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson11
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level11
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson08
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson11
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level12
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson09
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson12
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level13
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ ├── task05
│ │ └── Solution.java
│ ├── task06
│ │ └── Solution.java
│ ├── task07
│ │ └── Solution.java
│ ├── task08
│ │ └── Solution.java
│ ├── task09
│ │ └── Solution.java
│ └── task10
│ │ └── Solution.java
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ └── task04
│ │ └── Solution.java
├── lesson06
│ └── task01
│ │ └── Solution.java
└── lesson11
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ ├── Person.java
│ ├── RepkaItem.java
│ ├── RepkaStory.java
│ └── Solution.java
│ ├── bonus03
│ ├── AbstractRobot.java
│ ├── Attackable.java
│ ├── BodyPart.java
│ ├── Defensable.java
│ ├── Robot.java
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ ├── Solution.java
│ ├── Weather.java
│ └── WeatherType.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level14
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ └── task04
│ │ └── Solution.java
├── lesson06
│ └── home01
│ │ ├── BelarusianHen.java
│ │ ├── Country.java
│ │ ├── Hen.java
│ │ ├── MoldovanHen.java
│ │ ├── RussianHen.java
│ │ ├── Solution.java
│ │ └── UkrainianHen.java
└── lesson08
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ ├── Singleton.java
│ └── Solution.java
│ ├── home01
│ ├── Bridge.java
│ ├── Solution.java
│ ├── SuspensionBridge.java
│ └── WaterBridge.java
│ ├── home02
│ ├── BubblyWine.java
│ ├── Drink.java
│ ├── Solution.java
│ └── Wine.java
│ ├── home03
│ ├── Person.java
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ ├── CompItem.java
│ ├── Computer.java
│ ├── Keyboard.java
│ ├── Monitor.java
│ ├── Mouse.java
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ ├── Hrivna.java
│ ├── Money.java
│ ├── Solution.java
│ └── USD.java
│ └── home10
│ └── Solution.java
├── level15
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson09
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson12
│ ├── bonus01
│ ├── Flyable.java
│ ├── Helicopter.java
│ ├── Plane.java
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ ├── Solution.java
│ └── Tree.java
│ ├── home04
│ ├── Earth.java
│ ├── Moon.java
│ ├── Planet.java
│ ├── Solution.java
│ └── Sun.java
│ ├── home05
│ ├── Solution.java
│ └── SubSolution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ ├── Constants.java
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level16
├── lesson03
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson05
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson07
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson10
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson13
│ ├── bonus01
│ ├── ImageReaderFactory.java
│ ├── Solution.java
│ └── common
│ │ ├── BmpReader.java
│ │ ├── ImageReader.java
│ │ ├── ImageTypes.java
│ │ ├── JpgReader.java
│ │ └── PngReader.java
│ ├── bonus02
│ ├── Message.java
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level17
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson04
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
└── lesson10
│ ├── bonus01
│ ├── Person.java
│ ├── Sex.java
│ └── Solution.java
│ ├── bonus02
│ ├── Person.java
│ ├── Sex.java
│ └── Solution.java
│ ├── bonus03
│ ├── Cook.java
│ ├── Dishes.java
│ ├── Manager.java
│ ├── Order.java
│ ├── Restaurant.java
│ ├── Table.java
│ └── Waiter.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Beach.java
│ ├── home03
│ ├── Drug.java
│ ├── DrugsController.java
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ ├── ApplicationContext.java
│ └── Bean.java
│ ├── home08
│ ├── BankAccount.java
│ ├── Bankomat.java
│ └── NotEnoughMoneyException.java
│ ├── home09
│ ├── CorruptedDataException.java
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level18
├── lesson03
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson05
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson08
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ ├── AmigoOutputStream.java
│ │ └── QuestionFileOutputStream.java
│ ├── task03
│ │ └── AmigoOutputStream.java
│ ├── task04
│ │ ├── TxtInputStream.java
│ │ └── UnsupportedFileNameException.java
│ └── task05
│ │ └── Solution.java
└── lesson10
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level19
├── lesson03
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ ├── AdapterFileOutputStream.java
│ │ └── AmigoStringWriter.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ ├── Person.java
│ │ ├── PersonScanner.java
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson05
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson08
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson10
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── FileConsoleWriter.java
│ ├── bonus03
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ ├── Person.java
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ ├── home09
│ └── Solution.java
│ └── home10
│ └── Solution.java
├── level20
├── lesson02
│ ├── task01
│ │ ├── Asset.java
│ │ └── Solution.java
│ ├── task02
│ │ ├── Solution.java
│ │ └── User.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson04
│ ├── task01
│ │ ├── Asset.java
│ │ └── Solution.java
│ ├── task02
│ │ ├── Solution.java
│ │ └── User.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
├── lesson07
│ ├── task01
│ │ ├── Haha.java
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ ├── task03
│ │ └── Solution.java
│ ├── task04
│ │ └── Solution.java
│ └── task05
│ │ └── Solution.java
└── lesson10
│ ├── bonus01
│ └── Solution.java
│ ├── bonus02
│ └── Solution.java
│ ├── bonus03
│ └── Solution.java
│ ├── bonus04
│ └── Solution.java
│ ├── home01
│ └── Solution.java
│ ├── home02
│ └── Solution.java
│ ├── home03
│ └── Solution.java
│ ├── home04
│ └── Solution.java
│ ├── home05
│ └── Solution.java
│ ├── home06
│ └── Solution.java
│ ├── home07
│ └── Solution.java
│ ├── home08
│ └── Solution.java
│ └── home09
│ └── Solution.java
├── level21
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson05
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson08
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson10
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
└── lesson16
│ └── big01
│ ├── Hippodrome.java
│ ├── Horse.java
│ └── Условие задачи.txt
├── level22
├── lesson05
│ ├── home01
│ │ ├── Solution.java
│ │ ├── Task.java
│ │ ├── ThisUncaughtExceptionHandler.java
│ │ ├── TooShortStringFirstThreadException.java
│ │ └── TooShortStringSecondThreadException.java
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson07
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson09
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson13
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
└── lesson18
│ └── big01
│ ├── Field.java
│ ├── Figure.java
│ ├── FigureFactory.java
│ ├── KeyboardObserver.java
│ ├── Tetris.java
│ └── Условие задачи.txt
├── level23
├── lesson02
│ ├── task01
│ │ └── Solution.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson04
│ ├── home01
│ │ ├── DbMock.java
│ │ ├── Solution.java
│ │ └── ViewMock.java
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson06
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson08
│ ├── home01
│ │ ├── AbstractDbSelectExecutor.java
│ │ ├── Solution.java
│ │ └── vo
│ │ │ ├── Location.java
│ │ │ ├── NamedItem.java
│ │ │ ├── Server.java
│ │ │ ├── Subject.java
│ │ │ ├── Subscription.java
│ │ │ └── User.java
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
└── lesson13
│ └── big01
│ ├── KeyboardObserver.java
│ ├── Mouse.java
│ ├── Room.java
│ ├── Snake.java
│ ├── SnakeDirection.java
│ ├── SnakeSection.java
│ └── Условие задачи.txt
├── level24
├── lesson02
│ ├── home01
│ │ ├── SelfInterfaceMarker.java
│ │ ├── SelfInterfaceMarkerImpl.java
│ │ ├── Solution.java
│ │ ├── UnsupportedInterfaceMarkerException.java
│ │ └── Util.java
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson04
│ ├── home01
│ │ ├── HasHeight.java
│ │ ├── HasWidth.java
│ │ ├── Point.java
│ │ └── Solution.java
│ ├── home02
│ │ ├── Action.java
│ │ ├── FirstClass.java
│ │ ├── SecondClass.java
│ │ └── Solution.java
│ └── task01
│ │ └── Solution.java
├── lesson06
│ ├── home01
│ │ ├── Cat.java
│ │ ├── Mouse.java
│ │ ├── Pet.java
│ │ ├── Sayable.java
│ │ ├── Solution.java
│ │ └── Util.java
│ ├── home02
│ │ ├── Dog.java
│ │ ├── Mouse.java
│ │ ├── Pet.java
│ │ ├── Sayable.java
│ │ ├── Solution.java
│ │ ├── SuperDog.java
│ │ └── Util.java
│ └── home03
│ │ ├── Solution.java
│ │ └── Util.java
├── lesson09
│ ├── home01
│ │ ├── Iterator.java
│ │ └── Solution.java
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
└── lesson14
│ └── big01
│ ├── Arcanoid.java
│ ├── Ball.java
│ ├── BaseObject.java
│ ├── Brick.java
│ ├── Canvas.java
│ ├── KeyboardObserver.java
│ ├── Stand.java
│ └── Условие задачи.txt
├── level25
├── lesson02
│ ├── home01
│ │ ├── Column.java
│ │ ├── Columnable.java
│ │ └── Solution.java
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson05
│ ├── home01
│ │ ├── LoggingStateThread.java
│ │ └── Solution.java
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
├── lesson07
│ ├── home01
│ │ ├── CustomThreadManipulator.java
│ │ ├── Solution.java
│ │ └── TaskManipulator.java
│ ├── home02
│ │ ├── CancellableTask.java
│ │ ├── SocketTask.java
│ │ └── Solution.java
│ └── task01
│ │ └── Solution.java
├── lesson09
│ ├── task01
│ │ ├── Solution.java
│ │ └── Test.java
│ ├── task02
│ │ └── Solution.java
│ └── task03
│ │ └── Solution.java
├── lesson11
│ ├── task01
│ │ └── Solution.java
│ └── task02
│ │ └── Solution.java
└── lesson16
│ └── big01
│ ├── BaseObject.java
│ ├── Bomb.java
│ ├── Canvas.java
│ ├── KeyboardObserver.java
│ ├── Rocket.java
│ ├── Space.java
│ ├── SpaceShip.java
│ ├── Ufo.java
│ └── Условие задачи.txt
└── level26
├── lesson02
├── task01
│ └── Solution.java
├── task02
│ └── Solution.java
└── task03
│ └── Solution.java
├── lesson05
├── task01
│ └── Solution.java
├── task02
│ └── Solution.java
└── task03
│ └── Solution.java
├── lesson08
├── task01
│ └── Solution.java
├── task02
│ └── Solution.java
└── task03
│ └── Solution.java
├── lesson10
├── home01
│ ├── Consumer.java
│ ├── Producer.java
│ └── Solution.java
├── home02
│ ├── Consumer.java
│ ├── Producer.java
│ └── Solution.java
└── task01
│ └── Solution.java
└── lesson15
└── big01
├── CashMachine.java
├── ConsoleHelper.java
├── CurrencyManipulator.java
├── CurrencyManipulatorFactory.java
├── Operation.java
├── command
├── Command.java
├── CommandExecutor.java
├── DepositCommand.java
├── ExitCommand.java
├── InfoCommand.java
├── LoginCommand.java
└── WithdrawCommand.java
├── exception
├── InterruptOperationException.java
└── NotEnoughMoneyException.java
├── resources
├── common_en.properties
├── deposit_en.properties
├── exit_en.properties
├── info_en.properties
├── login_en.properties
├── verifiedCards.properties
└── withdraw_en.properties
└── Условие задачи.txt
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Example user template template
3 | ### Example user template
4 |
5 | # IntelliJ project files
6 | .idea/*
7 | *.iml
8 | out
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
My coursework at JavaRush
2 |
3 | JavaRush is a game-like course on training Java Core skills.
4 |
5 | For the moment I made my last commit maximum level was 26 and I had reached that limit.
6 |
7 | *You can learn more about this course at https://javarush.com/en/ .*
8 |
9 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level02/lesson08/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level02.lesson08.task03;
2 |
3 | /* Минимум трех чисел
4 | Написать функцию, которая вычисляет минимум из трёх чисел.
5 | */
6 | class Solution {
7 |
8 | @SuppressWarnings("unused")
9 | public static int min(int a, int b, int c) {
10 | int m1;
11 | if (a < b && a < c) {
12 | m1 = a;
13 | } else if (b < a && b < c) {
14 | m1 = b;
15 | } else {
16 | m1 = c;
17 | }
18 | return m1;
19 | }
20 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level02/lesson08/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level02.lesson08.task04;
2 |
3 | /* Минимум четырех чисел
4 | Написать функцию, которая вычисляет минимум из четырёх чисел.
5 | Использовать функцию из задачи 1.
6 | */
7 | @SuppressWarnings("WeakerAccess")
8 | class Solution {
9 |
10 | public static int min(int a, int b, int c, int d) {
11 | int mainMin;
12 | int m2 = min(a, b);
13 | int m3 = min(c, d);
14 | if (m2 < m3) {
15 | mainMin = m2;
16 | } else {
17 | mainMin = m3;
18 | }
19 | return mainMin;
20 | }
21 |
22 | private static int min(int a, int b) {
23 | int m1;
24 | if (a < b) {
25 | m1 = a;
26 | } else {
27 | m1 = b;
28 | }
29 | return m1;
30 |
31 | }
32 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level02/lesson08/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level02.lesson08.task05;
2 |
3 | class Solution {
4 |
5 | public static void print3(String s) {
6 | System.out.println(s);
7 | System.out.println(s);
8 | System.out.println(s);
9 | }
10 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level02/lesson08/task06/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level02.lesson08.task06;
2 |
3 | /* Вывод текста на экран
4 | Написать функцию, которая выводит переданную строку (слово) на экран три раза, но в одной строке.
5 | Слова должны быть разделены пробелом и не должны сливаться в одно.
6 | */
7 | class Solution {
8 |
9 | public static void print3(String s) {
10 | System.out.print(s + " ");
11 | System.out.print(s + " ");
12 | System.out.print(s);
13 | }
14 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson04/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson04.task01;
2 |
3 | /* Дата рождения
4 | Вывести на экран дату своего рождения в виде: MAY 1 2012
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | System.out.println("MAY 1 2012");
11 |
12 | }
13 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson04/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson04.task03;
2 |
3 | /* Бендер мой любимый учитель
4 | Вывести на экран 'Бендер мой любимый учитель' 1 раз.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | System.out.println("Бендер мой любимый учитель");
11 | }
12 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson04/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson04.task04;
2 |
3 | /* Произведение 10 чисел
4 | Вывести на экран произведение 10 чисел от 1 до 10. Результат - 1 число.
5 | Подсказка: будет три миллиона с хвостиком.
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | System.out.println(2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10);
12 | }
13 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson04/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson04.task05;
2 |
3 | /* Сумма 10 чисел
4 | Вывести на экран сумму чисел от 1 до 10 построчно (должно быть 10 строк):
5 | 1
6 | 1+2=3
7 | 1+2+3=6
8 | 1+2+3+4=10
9 | ...
10 | Пример вывода:
11 | 1
12 | 3
13 | 6
14 | 10
15 | ...
16 | */
17 |
18 | class Solution {
19 |
20 | public static void main(String[] args) {
21 | System.out.println(1);
22 | System.out.println(1 + 2);
23 | System.out.println(1 + 2 + 3);
24 | System.out.println(1 + 2 + 3 + 4);
25 | System.out.println(1 + 2 + 3 + 4 + 5);
26 | System.out.println(1 + 2 + 3 + 4 + 5 + 6);
27 | System.out.println(1 + 2 + 3 + 4 + 5 + 6 + 7);
28 | System.out.println(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8);
29 | System.out.println(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9);
30 | System.out.println(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10);
31 |
32 | }
33 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson06.task01;
2 |
3 | /* Мама мыла раму
4 | Вывести на экран все возможные комбинации слов «Мама», «Мыла», «Раму».
5 | Подсказка: их 6 штук. Каждую комбинацию вывести с новой строки. Слова не разделять. Пример:
6 | МылаРамуМама
7 | РамуМамаМыла
8 | ...
9 | */
10 |
11 | class Solution {
12 |
13 | public static void main(String[] args) {
14 | String s1 = "Мама";
15 | String s2 = "Мыла";
16 | String s3 = "Раму";
17 | System.out.println(s1 + s2 + s3);
18 | System.out.println(s1 + s3 + s2);
19 | System.out.println(s2 + s1 + s3);
20 | System.out.println(s2 + s3 + s1);
21 | System.out.println(s3 + s1 + s2);
22 | System.out.println(s3 + s2 + s1);
23 |
24 | }
25 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson06/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson06.task02;
2 |
3 | /* Таблица умножения
4 | Выведи на экран надпись: таблицу умножения 10 на 10:
5 | 1 2 3 …
6 | 2 4 6 …
7 | 3 6 9 …
8 | …
9 | */
10 |
11 | class Solution {
12 |
13 | public static void main(String[] args) {
14 | System.out.println("1 2 3 4 5 6 7 8 9 10");
15 | System.out.println("2 4 6 8 10 12 14 16 18 20");
16 | System.out.println("3 6 9 12 15 18 21 24 27 30");
17 | System.out.println("4 8 12 16 20 24 28 32 36 40");
18 | System.out.println("5 10 15 20 25 30 35 40 45 50");
19 | System.out.println("6 12 18 24 30 36 42 48 54 60");
20 | System.out.println("7 14 21 28 35 42 49 56 63 70");
21 | System.out.println("8 16 24 32 40 48 56 64 72 80");
22 | System.out.println("9 18 27 36 45 54 63 72 81 90");
23 | System.out.println("10 20 30 40 50 60 70 80 90 100");
24 |
25 | }
26 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson06/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson06.task03;
2 |
3 | /* Семь цветов радуги
4 | Выведи на экран текст: семь цветов радуги.
5 | В каждой строке должно быть по три цвета, в последней - один.
6 | Цвета разделяй пробелом.
7 | */
8 |
9 | class Solution {
10 |
11 | public static void main(String[] args) {
12 | System.out.println("красный оранжевый желтый");
13 | System.out.println("зеленый голубой синий");
14 | System.out.println("фиолетовый");
15 | }
16 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson06/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson06.task04;
2 |
3 | /* Путь к файлу java.exe
4 | Выведи на экран текст: полное имя файла java.exe из установленного пакета java
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | System.out.println("C:\\Program Files\\Java\\jdk1.7.0_51\\bin\\java.exe");
11 |
12 | }
13 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson06/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson06.task05;
2 |
3 | /* Изучаем японский
4 | Выведи на экран 日本語
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | System.out.println("日本語");
11 | }
12 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson08/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson08.task01;
2 |
3 | /* Как захватить мир
4 | Ввести с клавиатуры число и имя, вывести на экран строку:
5 | «имя» захватит мир через «число» лет. Му-ха-ха!
6 | Пример: Вася захватит мир через 8 лет. Му-ха-ха!
7 | */
8 |
9 | import java.io.BufferedReader;
10 | import java.io.InputStreamReader;
11 |
12 |
13 | class Solution {
14 |
15 | public static void main(String[] args) throws Exception {
16 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
17 | String tempAge = br.readLine();
18 | String name = br.readLine();
19 | int age = Integer.parseInt(tempAge);
20 | System.out.println(name + " захватит мир через " + age + " лет. Му-ха-ха!");
21 | }
22 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson08/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson08.task02;
2 |
3 | /* Зарплата через 5 лет
4 | Ввести с клавиатуры Имя и два числа, вывести надпись:
5 | name1 получает «число1» через «число2» лет.
6 | Пример: Коля получает 3000 через 5 лет.
7 | */
8 |
9 | import java.util.Scanner;
10 |
11 | class Solution {
12 |
13 | public static void main(String[] args) {
14 | Scanner s = new Scanner(System.in);
15 | String name = s.nextLine();
16 | int num1 = s.nextInt();
17 | int num2 = s.nextInt();
18 | System.out.println(name + " получает " + num1 + " через " + num2 + " лет.");
19 | }
20 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson08/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson08.task03;
2 |
3 | /* Скромность украшает человека
4 | Ввести с клавиатуры имя и вывести надпись:
5 | name зарабатывает $5,000. Ха-ха-ха!
6 | Пример: Тимур зарабатывает $5,000. Ха-ха-ха!
7 | */
8 |
9 | import java.io.BufferedReader;
10 | import java.io.InputStreamReader;
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) throws Exception {
15 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
16 | String name = br.readLine();
17 | System.out.println(name + " зарабатывает $5,000. Ха-ха-ха!");
18 | }
19 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson08/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson08.task04;
2 |
3 | /* Спонсор - это звучит гордо
4 | Ввести с клавиатуры два имени и вывести надпись:
5 | name1 проспонсировал name2 и она стала известной певицей.
6 | Пример: Коля проспонсировал Лену, и она стала известной певицей.
7 | */
8 |
9 | import java.io.BufferedReader;
10 | import java.io.InputStreamReader;
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) throws Exception {
15 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
16 | String name1 = br.readLine();
17 | String name2 = br.readLine();
18 | System.out.println(name1 + " проспонсировал " + name2 + ", и она стала известной певицей.");
19 | }
20 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson08/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson08.task05;
2 |
3 | /* Чистая любовь
4 | Ввести с клавиатуры три имени, вывести на экран надпись:
5 | name1 + name2 + name3 = Чистая любовь, да-да!
6 | Пример: Вася + Ева + Анжелика = Чистая любовь, да-да!
7 | */
8 |
9 | import java.io.BufferedReader;
10 | import java.io.InputStreamReader;
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) throws Exception {
15 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
16 | String name1 = br.readLine();
17 | String name2 = br.readLine();
18 | String name3 = br.readLine();
19 | System.out.println(name1 + " + " + name2 + " + " + name3 + " = Чистая любовь, да-да!");
20 | }
21 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson12/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson12.home01;
2 |
3 | /* Жить хорошо, а хорошо жить еще лучше
4 | Вывести на экран надпись «Жить хорошо, а хорошо жить еще лучше»
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | System.out.println("Жить хорошо, а хорошо жить еще лучше");
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson12/home02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson12.home02;
2 |
3 | /* Я не хочу изучать Java, я хочу большую зарплату
4 | Вывести на экран десять раз надпись «Я не хочу изучать Java, я хочу большую зарплату»
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | String s = "Я не хочу изучать Java, я хочу большую зарплату";
11 | System.out.println(s);
12 | System.out.println(s);
13 | System.out.println(s);
14 | System.out.println(s);
15 | System.out.println(s);
16 | System.out.println(s);
17 | System.out.println(s);
18 | System.out.println(s);
19 | System.out.println(s);
20 | System.out.println(s);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level03/lesson12/home03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level03.lesson12.home03;
2 |
3 | /* Я буду зарабатывать $50 в час
4 | Ввести с клавиатуры число n.
5 | Вывести на экран надпись «Я буду зарабатывать $n в час».
6 | Пример:
7 | Я буду зарабатывать $50 в час
8 | */
9 |
10 | import java.util.Scanner;
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) {
15 | Scanner s = new Scanner(System.in);
16 | int zp = s.nextInt();
17 | System.out.println("Я буду зарабатывать $" + zp + " в час");
18 | }
19 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson02/task01/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson02.task01;
2 |
3 | /* Реализовать метод setName
4 | Реализовать метод setName, чтобы с его помощью можно было устанавливать значение переменной private String name равное переданному параметру String name.
5 | */
6 |
7 | class Cat {
8 |
9 | @SuppressWarnings("FieldCanBeLocal")
10 | private String name;
11 |
12 | public void setName(String name) {
13 | this.name = name;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson02/task02/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson02.task02;
2 |
3 | /* Реализовать метод addNewCat
4 | Реализовать метод addNewCat, чтобы при его вызове (т.е. добавлении нового кота), количество котов увеличивалось на 1. За количество котов отвечает переменная catsCount.
5 | */
6 |
7 | class Cat {
8 |
9 | private static int catsCount = 0;
10 |
11 | public static void addNewCat() {
12 | catsCount++;
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson02/task03/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson02.task03;
2 |
3 | /* Реализовать метод setCatsCount
4 | Реализовать метод setCatsCount так, чтобы с его помощью можно было устанавливать значение переменной catsCount равное переданному параметру.
5 | */
6 |
7 | class Cat {
8 |
9 | private static int catsCount = 0;
10 |
11 | public static void setCatsCount(int catsCount) {
12 | Cat.catsCount = catsCount;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson02/task04/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson02.task04;
2 |
3 | /* Реализовать метод setName
4 | Реализовать метод setName, чтобы с его помощью можно было устанавливать значение переменной private String fullName равное значению локальной переменной String fullName.
5 | */
6 |
7 | class Cat {
8 |
9 | @SuppressWarnings("FieldCanBeLocal")
10 | private String fullName;
11 |
12 | public void setName(String firstName, String lastName) {
13 | this.fullName = firstName + " " + lastName;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson02/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson02.task05;
2 |
3 | /* Подсчитать количество котов
4 | Написать код, чтобы правильно считалось количество созданных котов (count) и на экран выдавалось правильно их количество.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | Cat cat1 = new Cat();
11 | Cat.count++;
12 | Cat cat2 = new Cat();
13 | Cat.count++;
14 | System.out.println("Cats count is " + Cat.count);
15 | }
16 |
17 | static class Cat {
18 |
19 | static int count = 0;
20 | }
21 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson06.task01;
2 |
3 | /* Минимум двух чисел
4 | Ввести с клавиатуры два числа, и вывести на экран минимальное из них.
5 | */
6 |
7 | import java.util.Scanner;
8 |
9 | class Solution {
10 |
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 | int a = scan.nextInt();
14 | int b = scan.nextInt();
15 | if (a < b) {
16 | System.out.println(a);
17 | } else {
18 | System.out.println(b);
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson06/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson06.task04;
2 |
3 | /* Сравнить имена
4 | Ввести с клавиатуры два имени, и если имена одинаковые вывести сообщение «Имена идентичны». Если имена разные, но их длины равны – вывести сообщение – «Длины имен равны».
5 | */
6 |
7 | import java.util.Scanner;
8 |
9 | class Solution {
10 |
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 | String name1 = scan.nextLine();
14 | String name2 = scan.nextLine();
15 | if (name1.equals(name2)) {
16 | System.out.println("Имена идентичны");
17 | } else if (name1.length() == name2.length()) {
18 | System.out.println("Длины имен равны");
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson06/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson06.task05;
2 |
3 | /* 18+
4 | Ввести с клавиатуры имя и возраст. Если возраст меньше 18 вывести надпись «Подрасти еще».
5 | */
6 |
7 | import java.util.Scanner;
8 |
9 | class Solution {
10 |
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 | String name = scan.nextLine();
14 | int age = scan.nextInt();
15 | if (age < 18) {
16 | System.out.println("Подрасти еще");
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson06/task06/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson06.task06;
2 |
3 | /* И 18-ти достаточно
4 | Ввести с клавиатуры имя и возраст. Если возраст больше 20 вывести надпись «И 18-ти достаточно».
5 | */
6 |
7 | import java.util.Scanner;
8 |
9 | class Solution {
10 |
11 | public static void main(String[] args) {
12 | Scanner scan = new Scanner(System.in);
13 | String name = scan.nextLine();
14 | int age = scan.nextInt();
15 | if (age > 20) {
16 | System.out.println("И 18-ти достаточно");
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson10/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson10.task01;
2 |
3 | /* 10 чисел
4 | Вывести на экран числа от 1 до 10 используя цикл while.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | int x = 1;
11 | while (x <= 10) {
12 | System.out.print(x + " ");
13 | x++;
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson10/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson10.task02;
2 |
3 | /* 10 чисел наоборот
4 | Вывести на экран числа от 10 до 1 используя цикл while.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | int x = 10;
11 | while (x > 0) {
12 | System.out.print(x + " ");
13 | x--;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson10/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson10.task03;
2 |
3 | import java.util.Scanner;
4 |
5 | /* Хорошего не бывает много
6 | Ввести с клавиатуры строку и число N.
7 | Вывести на экран строку N раз используя цикл while.
8 | Пример ввода:
9 | абв
10 | 2
11 | Пример вывода:
12 | абв
13 | абв
14 | */
15 |
16 | class Solution {
17 |
18 | public static void main(String[] args) {
19 | Scanner scan = new Scanner(System.in);
20 | String str = scan.nextLine();
21 | int number = scan.nextInt();
22 | int x = 0;
23 | while (x < number) {
24 | System.out.println(str);
25 | x++;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson13/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson13.task01;
2 |
3 | /* Четные числа
4 | Используя цикл for вывести на экран чётные числа от 1 до 100 включительно.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | for (int x = 2; x <= 100; x = x + 2) {
11 | System.out.print(x + " ");
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson13/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson13.task02;
2 |
3 | import java.util.Scanner;
4 |
5 | /* Рисуем прямоугольник
6 | Ввести с клавиатуры два числа m и n.
7 | Используя цикл for вывести на экран прямоугольник размером m на n из восьмёрок.
8 | Пример: m=2, n=4
9 | 8888
10 | 8888
11 | */
12 |
13 | class Solution {
14 |
15 | public static void main(String[] args) {
16 | Scanner scan = new Scanner(System.in);
17 | int m = scan.nextInt();
18 | int n = scan.nextInt();
19 | for (int y = 0; y < m; y++) {
20 | for (int x = 0; x < n; x++) {
21 | System.out.print(8);
22 | }
23 | System.out.println("");
24 | }
25 |
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson13/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson13.task03;
2 |
3 | /* Рисуем треугольник
4 | Используя цикл for вывести на экран прямоугольный треугольник из восьмёрок со сторонами 10 и 10.
5 | Пример:
6 | 8
7 | 88
8 | 888
9 | ...
10 | */
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) {
15 | int y, x;
16 | for (y = 1; y <= 10; y++) {
17 | for (x = 0; x < y; x++) {
18 | System.out.print(8);
19 | }
20 | System.out.println("");
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson13/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson13.task04;
2 |
3 | /* Рисуем линии
4 | Используя цикл for вывести на экран:
5 | - горизонтальную линию из 10 восьмёрок
6 | - вертикальную линию из 10 восьмёрок.
7 | */
8 |
9 | class Solution {
10 |
11 | public static void main(String[] args) {
12 | for (int x = 0; x < 10; x++) {
13 | System.out.print(8);
14 | }
15 | System.out.println("");
16 | for (int x = 0; x < 10; x++) {
17 | System.out.println(8);
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson13/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson13.task05;
2 |
3 | import java.util.Scanner;
4 |
5 | /* Все любят Мамбу
6 | Ввести с клавиатуры имя и используя цикл for 10 раз вывести: [*имя* любит меня.]
7 | Пример текста:
8 | Света любит меня.
9 | */
10 |
11 | class Solution {
12 |
13 | public static void main(String[] args) {
14 | Scanner scan = new Scanner(System.in);
15 | String name = scan.nextLine();
16 | for (int x = 0; x < 10; x++) {
17 | System.out.println(name + " любит меня.");
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson16/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson16.home01;
2 |
3 | /* Я никогда не буду работать за копейки
4 | Используя цикл вывести на экран сто раз надпись:
5 | «Я никогда не буду работать за копейки. Амиго»
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | for (int x = 0; x < 100; x++) {
12 | System.out.println("Я никогда не буду работать за копейки. Амиго");
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson16/home03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson16.home03;
2 |
3 | /* Посчитать сумму чисел
4 | Вводить с клавиатуры числа и считать их сумму. Если пользователь ввел -1, вывести на экран сумму и завершить программу. -1 должно учитываться в сумме.
5 | */
6 |
7 | import java.io.BufferedReader;
8 | import java.io.InputStreamReader;
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) throws Exception {
13 | BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
14 | int sum = 0;
15 | for (; true; ) {
16 | String s = buffer.readLine();
17 | int number = Integer.parseInt(s);
18 | if (number == -1) {
19 | sum = sum + number;
20 | System.out.println(sum);
21 | break;
22 | }
23 | sum = sum + number;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level04/lesson16/home04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level04.lesson16.home04;
2 |
3 | /* Меня зовут 'Вася'...
4 | Ввести с клавиатуры строку name.
5 | Ввести с клавиатуры дату рождения (три числа): y, m, d.
6 | Вывести на экран текст:
7 | «Меня зовут name
8 | Я родился d.m.y»
9 | Пример:
10 | Меня зовут Вася
11 | Я родился 15.2.1988
12 | */
13 |
14 | import java.util.Scanner;
15 |
16 | class Solution {
17 |
18 | public static void main(String[] args) {
19 | Scanner scan = new Scanner(System.in);
20 | String name = scan.nextLine();
21 | int b1 = scan.nextInt();
22 | int b2 = scan.nextInt();
23 | int b3 = scan.nextInt();
24 | System.out.println("Меня зовут " + name);
25 | System.out.println("Я родился " + b3 + "." + b2 + "." + b1);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson05/task01/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson05.task01;
2 |
3 | /* Создать класс Cat
4 | Создать класс Cat. У кота должно быть имя (name, String), возраст (age, int), вес (weight, int), сила (strength, int).
5 | */
6 |
7 | class Cat {
8 |
9 | String name;
10 | int age, weight, strength;
11 | }
12 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson05/task02/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson05.task02;
2 |
3 | /* Реализовать метод fight
4 | Реализовать метод boolean fight(Cat anotherCat):
5 | реализовать механизм драки котов в зависимости от их веса, возраста и силы.
6 | Зависимость придумать самому. Метод должен определять, выиграли ли мы (this) бой или нет,
7 | т.е. возвращать true, если выиграли и false - если нет.
8 | Должно выполняться условие:
9 | если cat1.fight(cat2) = true , то cat2.fight(cat1) = false
10 | */
11 |
12 | class Cat {
13 |
14 | public String name;
15 | public int age;
16 | public int strength;
17 | private int weight;
18 |
19 | public Cat() {
20 | }
21 |
22 | public boolean fight(Cat anotherCat) {
23 | return anotherCat.weight <= this.weight;
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson05/task03/Dog.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson05.task03;
2 |
3 | /* Геттеры и сеттеры для класса Dog
4 | Создать class Dog. У собаки должна быть кличка String name и возраст int age.
5 | Создайте геттеры и сеттеры для всех переменных класса Dog.
6 | */
7 |
8 | class Dog {
9 |
10 | private String name;
11 | private int age;
12 |
13 | public String getName() {
14 | return name;
15 | }
16 |
17 | public void setName(String name) {
18 | this.name = name;
19 | }
20 |
21 | public int getAge() {
22 | return age;
23 | }
24 |
25 | public void setAge(int age) {
26 | this.age = age;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson07/task01/Friend.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson07.task01;
2 |
3 | /* Создать класс Friend
4 | Создать класс Friend (друг) с тремя инициализаторами (тремя методами initialize):
5 | - Имя
6 | - Имя, возраст
7 | - Имя, возраст, пол
8 | */
9 |
10 | class Friend {
11 |
12 | private String name;
13 | private int age;
14 | @SuppressWarnings("FieldCanBeLocal")
15 | private boolean gender;
16 |
17 | public void initialize(String name) {
18 | this.name = name;
19 | }
20 |
21 | public void initialize(String name, int age) {
22 | this.name = name;
23 | this.age = age;
24 | }
25 |
26 | public void initialize(String name, int age, boolean gender) {
27 | this.name = name;
28 | this.age = age;
29 | this.gender = gender;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson07/task03/Dog.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson07.task03;
2 |
3 | /* Создать класс Dog
4 | Создать класс Dog (собака) с тремя инициализаторами:
5 | - Имя
6 | - Имя, рост
7 | - Имя, рост, цвет
8 | */
9 |
10 | class Dog {
11 |
12 | private String name;
13 | private int height;
14 | @SuppressWarnings("FieldCanBeLocal")
15 | private String colour;
16 |
17 | public void initialize(String name) {
18 | this.name = name;
19 | }
20 |
21 | public void initialize(String name, int height) {
22 | this.name = name;
23 | this.height = height;
24 | }
25 |
26 | public void initialize(String name, int height, String colour) {
27 | this.name = name;
28 | this.height = height;
29 | this.colour = colour;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson09/task01/Friend.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson09.task01;
2 |
3 | /* Создать класс Friend
4 | Создать класс Friend (друг) с тремя конструкторами:
5 | - Имя
6 | - Имя, возраст
7 | - Имя, возраст, пол
8 | */
9 |
10 | class Friend {
11 |
12 | private final String name;
13 | private int age;
14 | @SuppressWarnings("FieldCanBeLocal")
15 | private boolean gender;
16 |
17 | public Friend(String name) {
18 | this.name = name;
19 | }
20 |
21 | public Friend(String name, int age) {
22 | this.name = name;
23 | this.age = age;
24 | }
25 |
26 | public Friend(String name, int age, boolean gender) {
27 | this.name = name;
28 | this.age = age;
29 | this.gender = gender;
30 | }
31 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson09/task03/Dog.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson09.task03;
2 |
3 | /* Создать класс Dog
4 | Создать класс Dog (собака) с тремя конструкторами:
5 | - Имя
6 | - Имя, рост
7 | - Имя, рост, цвет
8 | */
9 |
10 | class Dog {
11 |
12 | private final String name;
13 | private int height;
14 | @SuppressWarnings("FieldCanBeLocal")
15 | private String color;
16 |
17 | public Dog(String name) {
18 | this.name = name;
19 | }
20 |
21 | public Dog(String name, int height) {
22 | this.name = name;
23 | this.height = height;
24 | }
25 |
26 | public Dog(String name, int height, String color) {
27 | this.name = name;
28 | this.height = height;
29 | this.color = color;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson12/bonus01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson12.bonus01;
2 |
3 | import java.io.BufferedReader;
4 | import java.io.InputStreamReader;
5 |
6 | /* Нужно исправить программу, чтобы компилировалась и работала
7 | Задача: Программа вводит два числа с клавиатуры и выводит их сумму на экран.
8 | */
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) throws Exception {
13 | BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
14 | int a = Integer.parseInt(reader.readLine());
15 | int b = Integer.parseInt(reader.readLine());
16 | int sum = a + b;
17 | System.out.println("Sum = " + sum);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson12/home04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson12.home04;
2 |
3 | /* Вывести на экран сегодняшнюю дату
4 | Вывести на экран текущую дату в аналогичном виде "21 12 2012".
5 | */
6 |
7 | import java.text.SimpleDateFormat;
8 | import java.util.Date;
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) {
13 | SimpleDateFormat simpleDate = new SimpleDateFormat("dd MM yyyy");
14 | System.out.println(simpleDate.format(new Date()));
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level05/lesson12/home05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level05.lesson12.home05;
2 |
3 | /* Вводить с клавиатуры числа и считать их сумму
4 | Вводить с клавиатуры числа и считать их сумму, пока пользователь не введёт слово «сумма». Вывести на экран полученную сумму.
5 | */
6 |
7 | import java.io.BufferedReader;
8 | import java.io.InputStreamReader;
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) throws Exception {
13 | BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
14 | int sum = 0;
15 | while (true) {
16 | String aString = reader.readLine();
17 | if (aString.equals("сумма")) {
18 | System.out.println(sum);
19 | break;
20 | } else {
21 | int a = Integer.parseInt(aString);
22 | sum = sum + a;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson05/task01/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson05.task01;
2 |
3 | /* Метод finalize класса Cat
4 | В классе Cat создать метод protected void finalize() throws Throwable
5 | */
6 |
7 | class Cat {
8 |
9 | protected void finalize() {
10 | System.out.println("Кот удален");
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson05/task02/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson05.task02;
2 |
3 | /* Классы Cat и Dog и метод finalize для каждого
4 | В каждом классе Cat и Dog написать метод finalize, который выводит на экран текст о том, что такой-то объект уничтожен.
5 | */
6 |
7 | class Cat {
8 |
9 | protected void finalize() {
10 | System.out.println("1");
11 | }
12 | }
13 |
14 | class Dog {
15 |
16 | protected void finalize() {
17 | System.out.println("1");
18 | }
19 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson05/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson05.task03;
2 |
3 | /* 10 000 объектов Cat и Dog
4 | Создать в цикле 10 000 объектов Cat и Dog. (Java-машина должна начать уничтожать неиспользуемые, и метод finalize хоть раз да вызовется).
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | for (int x = 0; x < 10000; x++) {
11 | Cat cat = new Cat();
12 | Dog dog = new Dog();
13 | }
14 |
15 | }
16 | }
17 |
18 | class Cat {
19 |
20 | @Override
21 | protected void finalize() throws Throwable {
22 | super.finalize();
23 | System.out.println("Cat destroyed");
24 | }
25 | }
26 |
27 | class Dog {
28 |
29 | @Override
30 | protected void finalize() throws Throwable {
31 | super.finalize();
32 | System.out.println("Dog destroyed");
33 | }
34 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson05/task04/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson05.task04;
2 |
3 | /* Cчётчик котов
4 | В конструкторе класса Cat [public Cat()] увеличивать счётчик котов (статическую переменную этого же класса catCount) на 1. В методе finalize уменьшать на 1.
5 | */
6 |
7 | class Cat {
8 |
9 | private static int catCount = 0;
10 |
11 | public Cat() {
12 | catCount++;
13 | }
14 |
15 | protected void finalize() {
16 | catCount--;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson08/task01/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson08.task01;
2 |
3 | /* Класс Cat и статическая переменная catCount
4 | Создать статическую переменную int catCount в классе Cat. Создай конструктор [public Cat()], в котором увеличивай данную переменную на 1.
5 | */
6 |
7 | class Cat {
8 |
9 | private static int catCount;
10 |
11 | public Cat() {
12 | catCount++;
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson08/task02/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson08.task02;
2 |
3 | /* Статические методы: int getCatCount() и setCatCount(int)
4 | Добавить к классу Cat два статических метода: int getCatCount() и setCatCount(int), с помощью которых можно получить/изменить количество котов (переменную catCount)
5 | */
6 |
7 | class Cat {
8 |
9 | private static int catCount = 0;
10 |
11 | public Cat() {
12 | catCount++;
13 | }
14 |
15 | public static int getCatCount() {
16 | return catCount;
17 | }
18 |
19 | public static void setCatCount(int catCount) {
20 | Cat.catCount = catCount;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson08/task03/Util.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson08.task03;
2 |
3 | /* Класс Util
4 | Реализовать статический метод double getDistance(x1, y1, x2, y2). Он должен вычислять расстояние между точками.
5 | Используй метод double Math.sqrt(double a), который вычисляет квадратный корень переданного параметра
6 | */
7 |
8 | class Util {
9 |
10 | public static double getDistance(int x1, int y1, int x2, int y2) {
11 | return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson08/task05/StringHelper.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson08.task05;
2 |
3 | /* Класс StringHelper
4 | Cделать класс StringHelper, у которого будут 2 статических метода:
5 | String multiply(String s, int count) – возвращает строку повторенную count раз.
6 | String multiply(String s) – возвращает строку повторенную 5 раз.
7 | Пример:
8 | Амиго -> АмигоАмигоАмигоАмигоАмиго
9 | */
10 |
11 | class StringHelper {
12 |
13 | public static String multiply(String s) {
14 | StringBuilder result = new StringBuilder();
15 | for (int x = 0; x < 5; x++) {
16 | result.append(s);
17 | }
18 | return result.toString();
19 | }
20 |
21 | public static String multiply(String s, int count) {
22 | StringBuilder result = new StringBuilder();
23 | for (int x = 0; x < count; x++) {
24 | result.append(s);
25 | }
26 | return result.toString();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson11/bonus01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson11.bonus01;
2 |
3 | /* Нужно исправить программу, чтобы компилировалась и работала
4 | Задача: Программа вводит два числа с клавиатуры и выводит их максимум в виде «Max is 25»
5 | */
6 |
7 | import java.io.BufferedReader;
8 | import java.io.IOException;
9 | import java.io.InputStreamReader;
10 |
11 | class Solution {
12 |
13 | public static int max = 100;
14 |
15 | public static void main(String[] args) throws IOException {
16 | BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
17 | String max = "Max is ";
18 | int a = Integer.parseInt(reader.readLine());
19 | int b = Integer.parseInt(reader.readLine());
20 | int c = a > b ? a : b;
21 | System.out.println(max + c);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson11/home02/Cat.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson11.home02;
2 |
3 | import java.util.ArrayList;
4 |
5 | /* Статические коты
6 | 1. В классе Cat добавь public статическую переменную cats (ArrayList).
7 | 2. Пусть при каждом создании кота (нового объекта Cat) в переменную cats добавляется этот новый кот. Создать 10 объектов Cat.
8 | 3. Метод printCats должен выводить всех котов на экран. Нужно использовать переменную cats.
9 | */
10 |
11 | class Cat {
12 |
13 | private static final ArrayList cats = new ArrayList<>();
14 |
15 | private Cat() {
16 | cats.add(this);
17 | }
18 |
19 | public static void main(String[] args) {
20 | for (int i = 0; i < 10; i++) {
21 | new Cat();
22 | }
23 | printCats();
24 | }
25 |
26 | private static void printCats() {
27 | for (Cat cat : cats) {
28 | System.out.println(cat);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson11/home03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson11.home03;
2 |
3 | /* Переставь один модификатор static
4 | Переставь один модификатор static, чтобы пример скомпилировался.
5 | */
6 |
7 | class Solution {
8 |
9 | private static int A = 5;
10 | private final int B = 2;
11 | public int C = A * B;
12 |
13 | public static void main(String[] args) {
14 | A = 15;
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson11/home04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson11.home04;
2 |
3 | /* Мама мыла раму или наоборот
4 | Расставьте минимальное количество static-ов, чтобы код начал работать, и программа успешно завершилась
5 | */
6 |
7 | class Solution {
8 |
9 | private static int step;
10 |
11 | public static void main(String[] args) {
12 | method1();
13 | }
14 |
15 | private static void method1() {
16 | method2();
17 | }
18 |
19 | private static void method2() {
20 | new Solution().method3();
21 | }
22 |
23 | private void method3() {
24 | method4();
25 | }
26 |
27 | private void method4() {
28 | step++;
29 | for (StackTraceElement element : Thread.currentThread().getStackTrace()) {
30 | System.out.println(element);
31 | }
32 | if (step > 1) {
33 | return;
34 | }
35 | main(null);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson11/home05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson11.home05;
2 |
3 | /* Есть новые идеи? Подумаем...
4 | 1. В классе Solution создать public статический класс Idea
5 | 2. В классе Idea создать метод public String getDescription(), который будет возвращать любой непустой текст
6 | 3. В классе Solution создайте статический метод public void printIdea(Idea idea), который будет выводить
7 | на экран описание идеи - это то, что возвращает метод getDescription
8 | */
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) {
13 | Idea op = new Idea();
14 | printIdea(op);
15 | }
16 |
17 | private static void printIdea(Idea id) {
18 | System.out.println(id.getDescription());
19 | }
20 |
21 | static class Idea {
22 |
23 | @SuppressWarnings("SameReturnValue")
24 | String getDescription() {
25 | return "waaaat?";
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson11/home06/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson11.home06;
2 |
3 | /* KissMyShinyMetalAss
4 | Создай класс с именем KissMyShinyMetalAss. Создай объект этого класса, выведи его на экран.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | KissMyShinyMetalAss robot = new KissMyShinyMetalAss();
11 | System.out.println(robot);
12 | }
13 |
14 | private static class KissMyShinyMetalAss {
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level06/lesson11/home07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level06.lesson11.home07;
2 |
3 | /* Три статические переменных name
4 | Создай 3 public статических переменных: String Solution.name, String Cat.name, String Dog.name
5 | */
6 |
7 | class Solution {
8 |
9 | public static String name;
10 |
11 | private static class Cat {
12 |
13 | public static String name;
14 | }
15 |
16 | private static class Dog {
17 |
18 | public static String name;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson04/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson04.task02;
2 |
3 | import java.util.Scanner;
4 |
5 | /* Массив из строчек в обратном порядке
6 | 1. Создать массив на 10 строчек.
7 | 2. Ввести с клавиатуры 8 строчек и сохранить их в массив.
8 | 3. Вывести содержимое всего массива (10 элементов) на экран в обратном порядке. Каждый элемент - с новой строки.
9 | */
10 |
11 | class Solution {
12 |
13 | public static void main(String[] args) {
14 | String[] mass = new String[10];
15 | Scanner scan = new Scanner(System.in);
16 | for (int i = 0; i < 8; i++) {
17 | mass[i] = scan.nextLine();
18 | }
19 | for (int i = mass.length - 1; i >= 0; i--) {
20 | System.out.println(mass[i]);
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson04/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson04.task04;
2 |
3 | import java.util.Scanner;
4 |
5 | /* Массив из чисел в обратном порядке
6 | 1. Создать массив на 10 чисел.
7 | 2. Ввести с клавиатуры 10 чисел и записать их в массив.
8 | 3. Расположить элементы массива в обратном порядке.
9 | 4. Вывести результат на экран, каждое значение выводить с новой строки.
10 | */
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) {
15 | int[] mass = new int[10];
16 | Scanner scan = new Scanner(System.in);
17 | for (int i = 0; i < mass.length; i++) {
18 | mass[mass.length - 1 - i] = scan.nextInt();
19 | }
20 | for (int mas : mass) {
21 | System.out.println(mas);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson06.task01;
2 |
3 | /* 5 различных строчек в списке
4 | 1. Создай список строк.
5 | 2. Добавь в него 5 различных строчек.
6 | 3. Выведи его размер на экран.
7 | 4. Используя цикл выведи его содержимое на экран, каждое значение с новой строки.
8 | */
9 |
10 | import java.util.ArrayList;
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) {
15 | ArrayList list = new ArrayList<>();
16 | for (int i = 0; i < 5; i++) {
17 | list.add("i");
18 | }
19 | System.out.println(list.size());
20 | for (String aList : list) {
21 | System.out.println(aList);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson06/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson06.task03;
2 |
3 | /* 5 строчек в обратном порядке
4 | 1. Создай список строк.
5 | 2. Считай с клавиатуры 5 строк и добавь в него.
6 | 3. Расположи их в обратном порядке.
7 | 4. Используя цикл выведи содержимое на экран, каждое значение с новой строки.
8 | */
9 |
10 | import java.util.ArrayList;
11 | import java.util.Scanner;
12 |
13 | class Solution {
14 |
15 | public static void main(String[] args) {
16 | ArrayList list = new ArrayList<>();
17 | Scanner scan = new Scanner(System.in);
18 | for (int i = 0; i < 5; i++) {
19 | list.add(0, scan.nextLine());
20 | }
21 | for (String aList : list) {
22 | System.out.println(aList);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson06/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson06.task04;
2 |
3 | /* 5 строчек в начало списка
4 | 1. Создай список строк.
5 | 2. Добавь в него 5 строчек с клавиатуры, но только добавлять не в конец списка, а в начало. 3.
6 | 3. Используя цикл выведи содержимое на экран, каждое значение с новой строки.
7 | */
8 |
9 | import java.util.ArrayList;
10 | import java.util.Scanner;
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) {
15 | ArrayList list = new ArrayList<>();
16 | Scanner scan = new Scanner(System.in);
17 | for (int i = 0; i < 5; i++) {
18 | list.add(0, scan.nextLine());
19 | }
20 | for (String aList : list) {
21 | System.out.println(aList);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson09/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson09.task02;
2 |
3 | import java.io.BufferedReader;
4 | import java.io.InputStreamReader;
5 | import java.util.ArrayList;
6 |
7 |
8 | /* 5 слов в обратном порядке
9 | Введи с клавиатуры 5 слов в список строк. Выведи их в обратном порядке.
10 | */
11 |
12 | class Solution {
13 |
14 | public static void main(String[] args) throws Exception {
15 | BufferedReader readOn = new BufferedReader(new InputStreamReader(System.in));
16 | ArrayList list = new ArrayList<>();
17 | for (int i = 0; i < 5; i++) {
18 | String a = readOn.readLine();
19 | list.add(a);
20 | }
21 |
22 | for (int i = list.size() - 1; i >= 0; i--) {
23 | System.out.println(list.get(i));
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson09/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson09.task03;
2 |
3 | import java.util.ArrayList;
4 |
5 | /* Слово «именно»
6 | 1. Создай список из слов «мама», «мыла», «раму».
7 | 2. После каждого слова вставь в список строку, содержащую слово «именно».
8 | 3. Используя цикл for вывести результат на экран, каждый элемент списка с новой строки.
9 | */
10 |
11 | class Solution {
12 |
13 | public static void main(String[] args) {
14 | ArrayList list = new ArrayList<>();
15 | list.add("мама");
16 | list.add("мыла");
17 | list.add("раму");
18 | String s = "именно";
19 | list.add(1, s);
20 | list.add(3, s);
21 | list.add(5, s);
22 | for (String aList : list) {
23 | System.out.println(aList);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson12/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson12.home01;
2 |
3 | import java.io.BufferedReader;
4 | import java.io.IOException;
5 | import java.io.InputStreamReader;
6 | import java.util.ArrayList;
7 |
8 | /* Вывести числа в обратном порядке
9 | Ввести с клавиатуры 10 чисел и заполнить ими список.
10 | Вывести их в обратном порядке.
11 | Использовать только цикл for.
12 | */
13 |
14 | class Solution {
15 |
16 | public static void main(String[] args) throws IOException {
17 | BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
18 | ArrayList list = new ArrayList<>();
19 | for (int i = 0; i < 10; i++) {
20 | list.add(Integer.parseInt(reader.readLine()));
21 | }
22 | for (int i = list.size() - 1; i >= 0; i--) {
23 | System.out.println(list.get(i));
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson12/home05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson12.home05;
2 |
3 | /* Бум
4 | Написать программу, которая ведёт обратный отсчёт с 30 до 0, и в конце выводит на экран текст «Бум!». Программа должна уменьшать число 10 раз в секунду. Для того чтобы вставить в программу задержку, воспользуйся функцией:
5 | Thread.sleep(100); //задержка на одну десятую секунды.
6 | Пример:
7 | 30
8 | 29
9 | …
10 | 1
11 | 0
12 | Бум!
13 | */
14 |
15 | import java.util.concurrent.TimeUnit;
16 |
17 | class Solution {
18 |
19 | public static void main(String[] args) throws InterruptedException {
20 | for (int i = 30; i >= 0; i--) {
21 | System.out.println(i);
22 | TimeUnit.MILLISECONDS.sleep(100);
23 | }
24 | System.out.println("Бум!");
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level07/lesson12/home07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level07.lesson12.home07;
2 |
3 | /* Переставь один модификатор static
4 | Переставь один модификатор static, чтобы пример скомпилировался.
5 | */
6 |
7 | class Solution {
8 |
9 | private static final int A = 5;
10 | private static final int B = 2;
11 | private static final int C = A * B;
12 |
13 | @SuppressWarnings("SameReturnValue")
14 | public int getValue() {
15 | return C;
16 | }
17 |
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level08/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level08.lesson06.task01;
2 |
3 | import java.util.ArrayList;
4 | import java.util.LinkedList;
5 |
6 | /* Создать два списка LinkedList и ArrayList
7 | Нужно создать два списка – LinkedList и ArrayList.
8 | */
9 |
10 | class Solution {
11 |
12 | public static Object createArrayList() {
13 | return new ArrayList();
14 | }
15 |
16 | public static Object createLinkedList() {
17 | return new LinkedList();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level08/lesson06/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level08.lesson06.task05;
2 |
3 | import java.util.ArrayList;
4 | import java.util.LinkedList;
5 | import java.util.List;
6 |
7 | /* Четыре метода
8 | Реализовать 4 метода. Они должны возвращать список, который лучше всего подходит для выполнения данных операций (быстрее всего справится с большим количеством операций). Ничего измерять не нужно.
9 | */
10 |
11 | class Solution {
12 |
13 | public static List getListForGet() {
14 | return new ArrayList();
15 | }
16 |
17 | public static List getListForSet() {
18 | return new ArrayList();
19 | }
20 |
21 | public static List getListForAddOrInsert() {
22 | return new LinkedList();
23 | }
24 |
25 | public static List getListForRemove() {
26 | return new LinkedList();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level08/lesson11/home07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level08.lesson11.home07;
2 |
3 | /* Переставь один модификатор static
4 | Переставь один модификатор static, чтобы пример скомпилировался.
5 | */
6 |
7 | class Solution {
8 |
9 | private static final int A = 5;
10 | private static final int B = 2;
11 | private static final int D = B * A;
12 | @SuppressWarnings("FieldCanBeLocal")
13 | private final int C = A * B;
14 |
15 | @SuppressWarnings("SameReturnValue")
16 | public int getValue() {
17 | return D;
18 | }
19 |
20 | public int getValue2() {
21 | return C;
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level08/lesson11/home09/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level08.lesson11.home09;
2 |
3 | import java.util.Date;
4 |
5 | class Solution {
6 |
7 | public static void main(String[] args) {
8 | String s = "MAY 1 2013";
9 | boolean a = isDateOdd(s);
10 | }
11 |
12 | @SuppressWarnings("deprecation")
13 | private static boolean isDateOdd(String date) {
14 | boolean bool;
15 | Date date1 = new Date(date);
16 | Date ms = new Date(date);
17 | ms.setHours(0);
18 | ms.setMinutes(0);
19 | ms.setSeconds(0);
20 | ms.setMonth(0);
21 | ms.setDate(1);
22 | long num = date1.getTime() - ms.getTime();
23 | long dayMs = 24 * 60 * 60 * 1000;
24 | int day = (int) (num / dayMs);
25 | bool = day % 2 == 0;
26 | return bool;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson02/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson02.task05;
2 |
3 | /* Метод должен возвращать результат – глубину её стек-трейса
4 | Написать метод, который возвращает результат – глубину его стек трейса – количество методов в нем (количество элементов в списке). Это же число метод должен выводить на экран.
5 | */
6 |
7 | class Solution {
8 |
9 | public static int getStackTraceDeep() {
10 | StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
11 | int result = stackTraceElements.length;
12 | System.out.println(result);
13 | return result;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson06.task01;
2 |
3 | /* Исключение при работе с числами
4 | Перехватить исключение (и вывести его на экран), указав его тип, возникающее при выполнении кода:
5 | int a = 42 / 0;
6 | */
7 |
8 | class Solution {
9 |
10 | @SuppressWarnings("NumericOverflow")
11 | public static void main(String[] args) {
12 | try {
13 | int a = 42 / 0;
14 | } catch (ArithmeticException e) {
15 | System.out.println(e.getMessage());
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson06/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson06.task02;
2 |
3 | /* Исключение при работе со строками
4 | Перехватить исключение (и вывести его на экран), указав его тип, возникающее при выполнении кода:
5 | String s = null;
6 | String m = s.toLowerCase();
7 | */
8 |
9 | class Solution {
10 |
11 | @SuppressWarnings("ConstantConditions")
12 | public static void main(String[] args) {
13 | try {
14 | String s = null;
15 | String m = s.toLowerCase();
16 | } catch (NullPointerException e) {
17 | System.out.println(e.getMessage());
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson06/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson06.task03;
2 |
3 | /* Исключение при работе с массивами
4 | Перехватить исключение (и вывести его на экран), указав его тип, возникающее при выполнении кода:
5 | int[] m = new int[2];
6 | m[8] = 5;
7 | */
8 |
9 | class Solution {
10 |
11 | @SuppressWarnings("ConstantConditions")
12 | public static void main(String[] args) {
13 | try {
14 | @SuppressWarnings("MismatchedReadAndWriteOfArray") int[] m = new int[2];
15 | m[8] = 5;
16 | } catch (ArrayIndexOutOfBoundsException e) {
17 | System.out.println(e.getMessage());
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson06/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson06.task04;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | /* Исключение при работе с коллекциями List
7 | Перехватить исключение (и вывести его на экран), указав его тип, возникающее при выполнении кода:
8 | ArrayList list = new ArrayList();
9 | String s = list.get(18);
10 | */
11 |
12 | class Solution {
13 |
14 | @SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
15 | public static void main(String[] args) {
16 | try {
17 | List list = new ArrayList<>();
18 | String s = list.get(18);
19 | } catch (IndexOutOfBoundsException e) {
20 | System.out.println(e.getMessage());
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson06/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson06.task05;
2 |
3 | import java.util.HashMap;
4 |
5 | /* Исключение при работе с коллекциями Map
6 | Перехватить исключение (и вывести его на экран), указав его тип, возникающее при выполнении кода:
7 | HashMap map = new HashMap(null);
8 | map.put(null, null);
9 | map.remove(null);
10 | */
11 |
12 | class Solution {
13 |
14 | @SuppressWarnings({"ConstantConditions", "MismatchedQueryAndUpdateOfCollection"})
15 | public static void main(String[] args) {
16 | try {
17 | HashMap map = new HashMap<>(null);
18 | map.put(null, null);
19 | map.remove(null);
20 | } catch (NullPointerException e) {
21 | System.out.println(e.getMessage());
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson11/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson11.home01;
2 |
3 | /* Деление на ноль
4 | Создай метод public static void divisionByZero, в котором подели любое число на ноль и выведи на экран результат деления.
5 | Оберни вызов метода divisionByZero в try..catch. Выведи стек-трейс исключения используя метод exception.printStackTrace()
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | try {
12 | divisionByZero();
13 | } catch (ArithmeticException e) {
14 | e.printStackTrace();
15 | }
16 | }
17 |
18 | @SuppressWarnings("NumericOverflow")
19 | private static void divisionByZero() {
20 | int b = 5 / 0;
21 | System.out.println(b);
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson11/home02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson11.home02;
2 |
3 | /* Обратный отсчёт от 10 до 0
4 | Написать в цикле обратный отсчёт от 10 до 0. Для задержки иcпользовать Thread.sleep(100);
5 | Обернуть вызов sleep в try..catch.
6 | */
7 |
8 | import java.util.concurrent.TimeUnit;
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) {
13 | for (int i = 10; i >= 0; i--) {
14 | System.out.println(i);
15 | try {
16 | TimeUnit.MILLISECONDS.sleep(100);
17 | } catch (Exception e) {
18 | e.printStackTrace();
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level09/lesson11/home07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level09.lesson11.home07;
2 |
3 | /* Расставь модификаторы static
4 | Расставь модификаторы static так, чтобы пример скомпилировался.
5 | */
6 |
7 | class Solution {
8 |
9 | private static int A = 5;
10 | private static final int B = 2 * A;
11 | private static int D = A * B;
12 | public int C = A * B;
13 |
14 | public void main(String[] args) {
15 | Solution room = new Solution();
16 | A = 5;
17 |
18 | Solution.D = 5;
19 | }
20 |
21 | public int getA() {
22 | return A;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson04/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson04.task02;
2 |
3 | /* Задача №2 на преобразование целых типов
4 | Расставь где нужно оператор приведения типа:
5 | int a = 15;
6 | int b = 4;
7 | float c = (a / (double)b);
8 | double d = a * 1e-3;
9 | */
10 |
11 | class Solution {
12 |
13 | public static void main(String[] args) {
14 | int a = 15;
15 | int b = 4;
16 | float c = (float) (a / (double) b);
17 | double d = a * 1e-3;
18 |
19 | System.out.println(c + d);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson04/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson04.task03;
2 |
3 | /* Задача №3 на преобразование целых типов
4 | Расставь где нужно оператор приведения типа:
5 | float f = 333.50;
6 | int i = f;
7 | byte b = i;
8 | */
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) {
13 | float f = (float) 333.50;
14 | int i = (int) f;
15 | byte b = (byte) i;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson04/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson04.task04;
2 |
3 | /* Задача №4 на преобразование целых типов
4 | Расставь где нужно оператор приведения типа:
5 | short number = 9;
6 | char zero = '0';
7 | char nine = zero + number;
8 | */
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) {
13 | short number = 9;
14 | char zero = '0';
15 | char nine = (char) (zero + number);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson04/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson04.task05;
2 |
3 | /* Задача №5 на преобразование целых типов
4 | Расставь где нужно оператор приведения типа:
5 | short number = 9;
6 | char zero = '0';
7 | short nineCode = zero + number;
8 | */
9 |
10 | class Solution {
11 |
12 | public static void main(String[] args) {
13 | short number = 9;
14 | char zero = '0';
15 | short nineCode = (short) (zero + number);
16 | }
17 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson11/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson11.home01;
2 |
3 | /* Правильный ответ: d=2.941
4 | Добавить одну операцию по преобразованию типа, чтобы получался ответ: d=2.941.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | int a = 50;
11 | int b = 17;
12 | double d = (double) a / b;
13 | System.out.println(d);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson11/home02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson11.home02;
2 |
3 | /* Правильный ответ: d=5.5
4 | Добавить одну операцию по преобразованию типа, чтобы получался ответ: d=5.5.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | int a = 5;
11 | int b = 4;
12 | int c = 3;
13 | int e = 2;
14 | double d = a + (double) (b / c) / e;
15 | System.out.println(d);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson11/home03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson11.home03;
2 |
3 | /* Правильный ответ: d=1.0
4 | Добавить одну операцию по преобразованию типа, чтобы получался ответ: d=1.0.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | int a = 257;
11 | int b = 4;
12 | int c = 3;
13 | int e = 2;
14 | double d = (byte) a + b / c / e;
15 |
16 | System.out.println(d);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level10/lesson11/home07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level10.lesson11.home07;
2 |
3 | /* Расставьте минимум static-ов
4 | Расставьте как можно меньше модификаторов static так, чтобы пример скомпилировался.
5 | */
6 |
7 | class Solution {
8 |
9 | private static int B = 5;
10 | private static int C = 5;
11 | private static int D = 5;
12 | private int A = 5;
13 |
14 | public static void main(String[] args) {
15 | Solution solution = new Solution();
16 | solution.A = 5;
17 | B = 5 * B;
18 | C = 5 * C * D;
19 | Solution.D = 5 * D * C;
20 |
21 | Solution.D = 5;
22 | }
23 |
24 | public int getA() {
25 | return A;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson06.task01;
2 |
3 | /* Лошадь и пегас
4 | Написать два класса: Horse (лошадь) и Pegas (пегас).
5 | Унаследовать пегаса от лошади.
6 | */
7 |
8 | class Solution {
9 |
10 | class Horse {
11 |
12 | final String name;
13 |
14 | Horse(String name) {
15 | this.name = name;
16 | }
17 |
18 | }
19 |
20 | private class Pegas extends Horse {
21 |
22 | public Pegas(String name) {
23 | super(name);
24 | }
25 |
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson06/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson06.task02;
2 |
3 | /* Домашние животные
4 | Написать три класса: Pet (домашнее животное), Cat(кот) и Dog(собака).
5 | Унаследовать кота и собаку от животного.
6 | */
7 |
8 | class Solution {
9 |
10 | class Pet {
11 |
12 | }
13 |
14 | private class Cat extends Pet {
15 |
16 | }
17 |
18 | private class Dog extends Pet {
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson06/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson06.task03;
2 |
3 | /* В гостях у бабушки
4 | Написать шесть классов: Animal (животное), Cow(корова) и Pig(свинья), Sheep(овца), Bull(бык), Goat(козел).
5 | Унаследовать корову, свинью, овцу, быка и козла от животного.
6 | */
7 |
8 | class Solution {
9 |
10 | class Animal {
11 |
12 | }
13 |
14 | private class Cow extends Animal {
15 |
16 | }
17 |
18 | private class Pig extends Animal {
19 |
20 | }
21 |
22 | private class Sheep extends Animal {
23 |
24 | }
25 |
26 | private class Bull extends Animal {
27 |
28 | }
29 |
30 | private class Goat extends Animal {
31 |
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson06/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson06.task04;
2 |
3 | /* Все мы работники
4 | Написать четыре класса: Worker(сотрудник), Manager(управляющий), Chief(директор) и Secretary(секретарь).
5 | Унаследовать управляющего, директора и секретаря от сотрудника.
6 | */
7 |
8 | class Solution {
9 |
10 | private class Manager extends Worker {
11 |
12 | }
13 |
14 | private class Chief extends Worker {
15 |
16 | }
17 |
18 | class Worker {
19 |
20 | }
21 |
22 | private class Secretary extends Worker {
23 |
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson08/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson08.task01;
2 |
3 | /* Все скрыто
4 | Скрыть все внутренние переменные класса Cat.
5 | */
6 |
7 | class Solution {
8 |
9 | class Cat {
10 |
11 | private String name;
12 | private int age;
13 | private int weight;
14 |
15 | public Cat() {
16 | }
17 |
18 | public Cat(String name, int age, int weight) {
19 | this.name = name;
20 | this.age = age;
21 | this.weight = weight;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson08/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson08.task02;
2 |
3 | /* Доступ есть
4 | Скрыть все внутренние переменные класса Cat, но только те, к которым остается доступ с помощью методов.
5 | */
6 |
7 | class Solution {
8 |
9 | class Cat {
10 |
11 | final int weight;
12 | private String name;
13 | private int age;
14 |
15 | public Cat(String name, int age, int weight) {
16 | this.name = name;
17 | this.age = age;
18 | this.weight = weight;
19 | }
20 |
21 | public String getName() {
22 | return name;
23 | }
24 |
25 | public void setName(String name) {
26 | this.name = name;
27 | }
28 |
29 | public int getAge() {
30 | return age;
31 | }
32 |
33 | public void setAge(int age) {
34 | this.age = age;
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson08/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson08.task03;
2 |
3 | /* Ничего не поменяешь
4 | Скрыть все внутренние переменные класса Cat, а также методы, позволяющие менять внутреннее состояние объектов класса Cat.
5 | */
6 |
7 | class Solution {
8 |
9 | class Cat {
10 |
11 | private final int weight;
12 | private String name;
13 | private int age;
14 |
15 | public Cat(String name, int age, int weight) {
16 | this.name = name;
17 | this.age = age;
18 | this.weight = weight;
19 | }
20 |
21 | public String getName() {
22 | return name;
23 | }
24 |
25 | private void setName(String name) {
26 | this.name = name;
27 | }
28 |
29 | public int getAge() {
30 | return age;
31 | }
32 |
33 | private void setAge(int age) {
34 | this.age = age;
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson08/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson08.task05;
2 |
3 | /* Добавь недостающие переменные
4 | Посмотри внимательно на методы и добавь недостающие переменные.
5 | */
6 |
7 | class Solution {
8 |
9 | class Cat {
10 |
11 | private final String name;
12 | private final int age;
13 | private int weight;
14 | private int speed = 10;
15 |
16 | public Cat(String name, int age, int weight) {
17 | this.name = name;
18 | this.age = age;
19 | this.weight = weight;
20 | }
21 |
22 | public String getName() {
23 | return name;
24 | }
25 |
26 | public int getAge() {
27 | return age;
28 | }
29 |
30 | public void setWeight(int weight) {
31 | this.weight = weight;
32 |
33 | }
34 |
35 | public void setSpeed(int speed) {
36 | this.speed = speed;
37 |
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/bonus01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.bonus01;
2 |
3 | /* Нужно исправить программу, чтобы компилировалась и работала
4 | Исправь наследование в классах: (классы Cat, Dog, Pat, House, Airplane).
5 | */
6 |
7 | class Solution {
8 |
9 | class Pet {
10 |
11 | }
12 |
13 | private class Cat extends Pet {
14 |
15 | }
16 |
17 | private class Dog extends Pet {
18 |
19 | }
20 |
21 | private class House {
22 |
23 | }
24 |
25 | private class Airplane {
26 |
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/bonus02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.bonus02;
2 |
3 | /* Нужно добавить в программу новую функциональность
4 | Добавь общий базовый класс к классам-фигур: (фигуры из шахмат).
5 | */
6 |
7 | class Solution {
8 |
9 | class ChessFigure {
10 |
11 | }
12 |
13 | private class King extends ChessFigure {
14 |
15 | }
16 |
17 | private class Queen extends ChessFigure {
18 |
19 | }
20 |
21 | private class Rook extends ChessFigure {
22 |
23 | }
24 |
25 | private class Knight extends ChessFigure {
26 |
27 | }
28 |
29 | private class Bishop extends ChessFigure {
30 |
31 | }
32 |
33 | private class Pawn extends ChessFigure {
34 |
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home01;
2 |
3 | /* Адам и Ева
4 | Написать два класса Adam(Адам) и Eve(Ева).
5 | Унаследовать Еву от Адама.
6 | */
7 |
8 | class Solution {
9 |
10 | //Адам
11 | class Adam {
12 |
13 | }
14 |
15 | //Ева
16 | private class Eve extends Adam {
17 |
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home02;
2 |
3 | /* AppleIPhone и SamsungGalaxyS2
4 | Написать два класса AppleIPhone и SamsungGalaxyS2.
5 | Унаследовать SamsungGalaxyS2 от AppleIPhone.
6 | */
7 |
8 | class Solution {
9 |
10 | class AppleIPhone {
11 |
12 | }
13 |
14 | private class SamsungGalaxyS2 extends AppleIPhone {
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home03;
2 |
3 | /* Эволюция
4 | Написать четыре класса: Fish(Рыбы), Animal(Животные), Ape(Обезьяны), Human (Человек).
5 | Унаследовать животных от рыб, обезьян от животных и человека от обезьян.
6 | */
7 |
8 | class Solution {
9 |
10 | class Fish {
11 |
12 | }
13 |
14 | class Animal extends Fish {
15 |
16 | }
17 |
18 | class Ape extends Animal {
19 |
20 | }
21 |
22 | private class Human extends Ape {
23 |
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home04;
2 |
3 | /* Религии
4 | Написать три класса: Judaism(Иудаизм), Christianity(Христианство), Islam(Мусульманство)
5 | Унаследовать христианство от иудаизма и мусульманство от христианства.
6 | */
7 |
8 | class Solution {
9 |
10 | class Judaism {
11 |
12 | }
13 |
14 | class Christianity extends Judaism {
15 |
16 | }
17 |
18 | private class Islam extends Christianity {
19 |
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home05;
2 |
3 | /* От школьника к рабству
4 | Написать четыре класса: Schoolboy(школьник), Student(студент), Worker(Сотрудник), Slave (Раб)
5 | Унаследовать студента от школьника, сотрудника от студента, раба от сотрудника.
6 | */
7 |
8 | class Solution {
9 |
10 | class Schoolboy {
11 |
12 | }
13 |
14 | class Student extends Schoolboy {
15 |
16 | }
17 |
18 | class Worker extends Student {
19 |
20 | }
21 |
22 | private class Slave extends Worker {
23 |
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home06/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home06;
2 |
3 | /* Первая правильная «цепочка наследования»
4 | Расставь правильно «цепочку наследования» в классах: Pet (домашнее животное), Cat (кот), Dog(собака).
5 | */
6 |
7 | class Solution {
8 |
9 | class Pet {
10 |
11 | }
12 |
13 | private class Cat extends Pet {
14 |
15 | }
16 |
17 | private class Dog extends Pet {
18 |
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home07;
2 |
3 | /* Вторая правильная «цепочка наследования»
4 | Расставь правильно «цепочку наследования» в классах: Carnivora (плотоядное животное), Cow (корова), Dog(собака), Pig(свинья), Animal (животное).
5 | */
6 |
7 | class Solution {
8 |
9 | class Carnivora extends Animal {
10 |
11 | }
12 |
13 | private class Cow extends Animal {
14 |
15 | }
16 |
17 | private class Dog extends Carnivora {
18 |
19 | }
20 |
21 | private class Pig extends Animal {
22 |
23 | }
24 |
25 | class Animal {
26 |
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home08/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home08;
2 |
3 | /* Третья правильная «цепочка наследования»
4 | Расставь правильно «цепочку наследования» в классах: Pet (домашнее животное), Cat (кот), Dog(собака), Car (машина).
5 | */
6 |
7 | class Solution {
8 |
9 | class Pet {
10 |
11 | }
12 |
13 | private class Cat extends Pet {
14 |
15 | }
16 |
17 | private class Car {
18 |
19 | }
20 |
21 | private class Dog extends Pet {
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home09/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home09;
2 |
3 | /* Четвертая правильная «цепочка наследования»
4 | Расставь правильно «цепочку наследования» в классах: House (дом), Cat (кот), Dog(собака), Car (машина).
5 | */
6 |
7 | class Solution {
8 |
9 | private class House {
10 |
11 | }
12 |
13 | private class Cat {
14 |
15 | }
16 |
17 | private class Car {
18 |
19 | }
20 |
21 | private class Dog {
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level11/lesson11/home10/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level11.lesson11.home10;
2 |
3 | /* Пятая правильная «цепочка наследования»
4 | Расставь правильно «цепочку наследования» в классах: House (дом), Cat (кот), Dog(собака), Car (машина), Animal(животное), Assets (имущество).
5 | */
6 |
7 | class Solution {
8 |
9 | private class House extends Assets {
10 |
11 | }
12 |
13 | private class Cat extends Animal {
14 |
15 | }
16 |
17 | private class Car extends Assets {
18 |
19 | }
20 |
21 | private class Dog extends Animal {
22 |
23 | }
24 |
25 | class Animal {
26 |
27 | }
28 |
29 | class Assets {
30 |
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson02/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson02.task01;
2 |
3 | /* Я не корова, Я - кит.
4 | Переопределить метод getName в классе Whale(Кит), чтобы программа выдавала:
5 | Я не корова, Я - кит.
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | Cow cow = new Whale();
12 |
13 | System.out.println(cow.getName());
14 | }
15 |
16 | static class Cow {
17 |
18 | String getName() {
19 | return "Я - корова";
20 | }
21 | }
22 |
23 | static class Whale extends Cow {
24 |
25 | public String getName() {
26 | return "Я не корова, Я - кит.";
27 | }
28 |
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson02/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson02.task02;
2 |
3 | /* Ничего не выводится на экран
4 | Переопределить метод getName в классе Whale(Кит), чтобы программа ничего не выдавала на экран.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | Cow cow = new Whale();
11 |
12 | System.out.println(cow.getName());
13 | }
14 |
15 | static class Cow {
16 |
17 | String getName() {
18 | return "Я - корова";
19 | }
20 | }
21 |
22 | static class Whale extends Cow {
23 |
24 | public String getName() {
25 | return "";
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson02/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson02.task03;
2 |
3 | /* Кот от кота, а собака от собаки
4 | Переопределить метод getChild в классах Cat(кот) и Dog(собака), чтобы кот порождал кота, а собака – собаку.
5 | */
6 |
7 | public class Solution {
8 |
9 | public static void main(String[] args) {
10 | Pet pet1 = new Cat();
11 | Pet cat = pet1.getChild();
12 |
13 | Pet pet2 = new Dog();
14 | Pet dog = pet2.getChild();
15 | }
16 |
17 | static class Pet {
18 |
19 | Pet getChild() {
20 | return new Pet();
21 | }
22 | }
23 |
24 | public static class Cat extends Pet {
25 |
26 | public Cat getChild() {
27 | return new Cat();
28 | }
29 |
30 | }
31 |
32 | public static class Dog extends Pet {
33 |
34 | public Dog getChild() {
35 | return new Dog();
36 | }
37 |
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson04/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson04.task01;
2 |
3 | /* print(int) и print(String)
4 | Написать два метода: print(int) и print(String).
5 | */
6 |
7 | class Solution {
8 |
9 | void print(int a) {
10 | System.out.print(a);
11 | }
12 |
13 | void print(String a) {
14 | System.out.print(a);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson04/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson04.task02;
2 |
3 | /* print(int) и print(Integer)
4 | Написать два метода: print(int) и print(Integer).
5 | Написать такой код в методе main, чтобы вызвались они оба.
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | Integer big = 85;
12 | int a = 21;
13 | print(a);
14 | print(big);
15 |
16 | }
17 |
18 | private static void print(int a) {
19 | System.out.print(a);
20 | }
21 |
22 | private static void print(Integer a) {
23 | System.out.print(a);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson04/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson04.task03;
2 |
3 | /* Пять методов print с разными параметрами
4 | Написать пять методов print с разными параметрами.
5 | */
6 |
7 | class Solution {
8 |
9 | void print(int a) {
10 | System.out.println(a);
11 | }
12 |
13 | void print(float a) {
14 | System.out.println(a);
15 | }
16 |
17 | void print(double a) {
18 | System.out.println(a);
19 | }
20 |
21 | void print(char a) {
22 | System.out.println(a);
23 | }
24 |
25 | void print(String a) {
26 | System.out.println(a);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson04/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson04.task04;
2 |
3 | /* Три метода возвращают минимальное из двух переданных в него чисел
4 | Написать public static методы: int min(int, int), long min(long, long), double min(double, double).
5 | Каждый метод должен возвращать минимальное из двух переданных в него чисел.
6 | */
7 |
8 | class Solution {
9 |
10 | public static int min(int a, int b) {
11 | if (a < b) {
12 | return a;
13 | } else {
14 | return b;
15 | }
16 | }
17 |
18 | public static long min(long a, long b) {
19 | if (a < b) {
20 | return a;
21 | } else {
22 | return b;
23 | }
24 | }
25 |
26 | public static double min(double a, double b) {
27 | if (a < b) {
28 | return a;
29 | } else {
30 | return b;
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson04/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson04.task05;
2 |
3 | /* Три метода возвращают максимальное из двух переданных в него чисел
4 | Написать public static методы: int max(int, int), long max (long, long), double max (double, double).
5 | Каждый метод должен возвращать максимальное из двух переданных в него чисел.
6 | */
7 |
8 | class Solution {
9 |
10 | public static int max(int a, int b) {
11 | if (a < b) {
12 | return b;
13 | } else {
14 | return a;
15 | }
16 | }
17 |
18 | public static long max(long a, long b) {
19 | if (a < b) {
20 | return b;
21 | } else {
22 | return a;
23 | }
24 | }
25 |
26 | public static double max(double a, double b) {
27 | if (a < b) {
28 | return b;
29 | } else {
30 | return a;
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson06.task01;
2 |
3 | /* Абстрактный класс Pet
4 | Сделать класс Pet абстрактным.
5 | */
6 |
7 | class Solution {
8 |
9 | private static abstract class Pet {
10 |
11 | @SuppressWarnings("SameReturnValue")
12 | public String getName() {
13 | return "Я - котенок";
14 | }
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson06/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson06.task02;
2 |
3 | /* Исправь код. Первая задача
4 | Исправь код, чтобы программа компилировалась.
5 | */
6 |
7 | public class Solution {
8 |
9 |
10 | public static abstract class Pet {
11 |
12 | @SuppressWarnings("SameReturnValue")
13 | public String getName() {
14 | return "Я - котенок";
15 | }
16 |
17 | public abstract Pet getChild();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson06/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson06.task03;
2 |
3 | /* Исправь код. Вторая задача
4 | Исправь код, чтобы программа компилировалась.
5 | */
6 |
7 | public class Solution {
8 |
9 | public static abstract class Pet {
10 |
11 | @SuppressWarnings("SameReturnValue")
12 | public String getName() {
13 | return "Я - котенок";
14 | }
15 |
16 | public abstract Pet getChild();
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson06/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson06.task04;
2 |
3 | /* Класс Cow от Animal
4 | Унаследуй класс Cow от Animal.
5 | Реализуй все недостающие методы в классе Cow.
6 | */
7 |
8 | public class Solution {
9 |
10 | static abstract class Animal {
11 |
12 | @SuppressWarnings("SameReturnValue")
13 | public abstract String getName();
14 | }
15 |
16 | public static class Cow extends Animal {
17 |
18 | public String getName() {
19 | return "Hi!";
20 | }
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson06/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson06.task05;
2 |
3 | /* Классы Cat и Dog от Pet
4 | Унаследуй классы Cat и Dog от Pet.
5 | Реализуй недостающие методы. Классы Cat и Dog не должны быть абстрактными.
6 | */
7 |
8 | public class Solution {
9 |
10 | public static abstract class Pet {
11 |
12 | public abstract String getName();
13 |
14 | public abstract Pet getChild();
15 | }
16 |
17 | public static class Cat extends Pet {
18 |
19 | public String getName() {
20 | return "Cat!";
21 | }
22 |
23 | public Cat getChild() {
24 | return new Cat();
25 | }
26 |
27 | }
28 |
29 | public static class Dog extends Pet {
30 |
31 | public String getName() {
32 | return "Dog!";
33 | }
34 |
35 | public Dog getChild() {
36 | return new Dog();
37 | }
38 |
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson09/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson09.task01;
2 |
3 | /* Интерфейс Fly
4 | Напиши свой public интерфейс Fly(летать). Добавь в него два метода.
5 | */
6 |
7 | class Solution {
8 |
9 | public interface Fly {
10 |
11 | boolean canFly();
12 |
13 | int wingsNumber();
14 |
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson09/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson09.task02;
2 |
3 | /* Интерфейсы Fly, Run, Swim
4 | Напиши public интерфейсы Fly(летать), Run(бежать/ездить), Swim(плавать).
5 | Добавить в каждый интерфейс по одному методу.
6 | */
7 |
8 | class Solution {
9 |
10 | public interface Fly {
11 |
12 | boolean canFly();
13 | }
14 |
15 | public interface Run {
16 |
17 | int getSpeed();
18 | }
19 |
20 | public interface Swim {
21 |
22 | int getSpeed();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson09/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson09.task05;
2 |
3 | /* Класс Human и интерфейсы Run, Swim
4 | Напиши public класс Human(человек) и public интерфейсы Run(бежать/ездить), Swim(плавать).
5 | Добавь в каждый интерфейс по одному методу.
6 | Добавь эти интерфейсы классу Human, но не реализуй методы.
7 | Объяви класс Human абстрактным.
8 | */
9 |
10 | public class Solution {
11 |
12 | private interface Run {
13 |
14 | }
15 |
16 | private interface Swim {
17 |
18 | }
19 |
20 | public abstract class Human implements Run, Swim {
21 |
22 | public abstract void run();
23 |
24 | public abstract void swim();
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/bonus01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.bonus01;
2 |
3 | /* Нужно исправить программу, чтобы компилировалась и работала
4 | Расставить правильно ключевые слова abstract, чтобы программа компилировалась (там где надо и не надо).
5 | */
6 |
7 | public class Solution {
8 |
9 | public static void main(String[] args) {
10 | Horse horse = new Pegas();
11 | horse.run();
12 | }
13 |
14 | private interface Fly {
15 |
16 | }
17 |
18 | static abstract class Horse {
19 |
20 | @SuppressWarnings("EmptyMethod")
21 | void run() {
22 | }
23 | }
24 |
25 | static class Pegas extends Horse implements Fly {
26 |
27 | }
28 |
29 | public static abstract class SwimPegas extends Pegas {
30 |
31 | public abstract void swim();
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/bonus02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.bonus02;
2 |
3 | /* Нужно добавить в программу новую функциональность
4 | Сделать класс Pegas(пегас) на основе класса Horse(лошадь) и интерфейса Fly(летать).
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | Pegas horse = new Pegas();
11 | }
12 |
13 | private interface Fly {
14 |
15 | }
16 |
17 | static class Horse {
18 |
19 | }
20 |
21 | private static class Pegas extends Horse implements Fly {
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.home01;
2 |
3 | /* Метод getName в классе Cat
4 | Переопредели метод getName в классе Cat так, чтобы программа выдавала на экран надпись
5 | «Я - кот».
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | Pet pet = new Cat();
12 |
13 | System.out.println(pet.getName());
14 | }
15 |
16 | static class Pet {
17 |
18 | String getName() {
19 | return "Я - пушистик";
20 | }
21 | }
22 |
23 | static class Cat extends Pet {
24 |
25 | public String getName() {
26 | return "Я - кот";
27 | }
28 |
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/home02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.home02;
2 |
3 | /* Метод setName в классе Cat
4 | Переопредели метод setName в классе Cat так, чтобы программа выдавала на экран надпись
5 | «Я - кот».
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | Pet pet = new Cat();
12 | pet.setName("Я - пушистик");
13 |
14 | System.out.println(pet.getName());
15 | }
16 |
17 | static class Pet {
18 |
19 | String name;
20 |
21 | Pet() {
22 | }
23 |
24 | String getName() {
25 | return name;
26 | }
27 |
28 | void setName(String name) {
29 | this.name = name;
30 | }
31 |
32 | }
33 |
34 | static class Cat extends Pet {
35 |
36 | public void setName(String name) {
37 | this.name = "Я - кот";
38 | }
39 |
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/home03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.home03;
2 |
3 | /* Добавь один метод в класс Cat
4 | Добавь один метод в класс Cat так, чтобы программа ничего не выводила на экран.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | Pet pet = new Cat();
11 | pet.setName("Я - пушистик");
12 |
13 | System.out.println(pet.getName());
14 | }
15 |
16 | static class Pet {
17 |
18 | String name;
19 |
20 | Pet() {
21 | }
22 |
23 | final String getName() {
24 | return name;
25 | }
26 |
27 | void setName(String name) {
28 | this.name = name;
29 | }
30 |
31 | }
32 |
33 | static class Cat extends Pet {
34 |
35 | public void setName(String name) {
36 | this.name = "";
37 | }
38 |
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/home08/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.home08;
2 |
3 | /* Интерфейсы к классу Human
4 | Добавь как можно больше интерфейсов к классу Human, но чтобы он не стал абстрактным классом.
5 | Добавлять методы в класс Human запрещается.
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | Human human = new Human();
12 | System.out.println(human);
13 | }
14 |
15 | private interface Worker {
16 |
17 | }
18 |
19 | private interface Businessman {
20 |
21 | }
22 |
23 | private interface Secretary {
24 |
25 | }
26 |
27 | public interface Miner {
28 |
29 | void workVeryHard();
30 | }
31 |
32 | static class Human implements Businessman, Worker, Secretary {
33 |
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/home09/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.home09;
2 |
3 | /* Родитель класса CTO
4 | Добавь такой класс-родитель к классу CTO(технический директор), чтобы класс перестал быть абстрактным.
5 | Добавлять/реализовывать методы в классе CTO запрещается.
6 | */
7 |
8 | public class Solution {
9 |
10 | public static void main(String[] args) {
11 | CTO cto = new CTO();
12 | System.out.println(cto);
13 | }
14 |
15 | interface Businessman {
16 |
17 | void workHard();
18 | }
19 |
20 | public static class Director implements Businessman {
21 |
22 | public void workHard() {
23 | System.out.print("I'm working hard!");
24 | }
25 | }
26 |
27 | private static class CTO extends Director implements Businessman {
28 |
29 | }
30 |
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level12/lesson12/home10/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level12.lesson12.home10;
2 |
3 | /* Метод, который выводит на экран число 10
4 | Добавь еще один метод, чтобы программа выводила на экран число 10.
5 | Подсказка: используй перегрузку методов.
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | Integer i = 5;
12 | int x = transformValue(i);
13 |
14 | System.out.println(x);
15 | }
16 |
17 | public static int transformValue(int i) {
18 | return i * i;
19 | }
20 |
21 | private static int transformValue(Integer i) {
22 | return i + i;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson02/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson02.task02;
2 |
3 | /* Пиво: возвращение
4 | Добавь к классу Beer интерфейс Drink и реализуй все нереализованные методы.
5 | */
6 |
7 | public class Solution {
8 |
9 | public static void main(String[] args) {
10 | Drink beer = new Beer();
11 | System.out.println(beer.toString());
12 | }
13 |
14 | interface Drink {
15 |
16 | @SuppressWarnings("SameReturnValue")
17 | boolean isAlcoholic();
18 | }
19 |
20 | public static class Beer implements Drink {
21 |
22 | @Override
23 | public String toString() {
24 | if (isAlcoholic()) {
25 | return "Напиток алкогольный";
26 | } else {
27 | return "Напиток безалкогольный";
28 | }
29 | }
30 |
31 | public boolean isAlcoholic() {
32 | return true;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson02/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson02.task03;
2 |
3 | /* Пиво и кола
4 | Реализуй интерфейс Drink в классах Beer и Cola.
5 | */
6 |
7 | public class Solution {
8 |
9 | public static void main(String[] args) {
10 |
11 | print(new Beer());
12 | print(new Cola());
13 |
14 | }
15 |
16 | private static void print(Drink drink) {
17 | System.out.println(drink.getClass().getSimpleName());
18 | }
19 |
20 | interface Drink {
21 |
22 | boolean isAlcoholic();
23 | }
24 |
25 | public static class Beer implements Drink {
26 |
27 | public boolean isAlcoholic() {
28 | return true;
29 | }
30 | }
31 |
32 | public static class Cola implements Drink {
33 |
34 | public boolean isAlcoholic() {
35 | return false;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson02/task04/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson02.task04;
2 |
3 | /* Selectable и Updatable
4 | 1. Создай класс Screen.
5 | 2. Реализуй в нем интерфейсы Selectable с методом onSelect, Updatable с методом refresh.
6 | */
7 |
8 | public class Solution {
9 |
10 | interface Selectable {
11 |
12 | void onSelect();
13 | }
14 |
15 | interface Updatable {
16 |
17 | void refresh();
18 | }
19 |
20 | public class Screen implements Selectable, Updatable {
21 |
22 | public void onSelect() {
23 | System.out.println("On select!");
24 | }
25 |
26 | public void refresh() {
27 | System.out.println("Refreshing!");
28 | }
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson02/task05/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson02.task05;
2 |
3 | /* 4 ошибки
4 | Исправь 4 ошибки в программе, чтобы она компилировалась.
5 | */
6 |
7 | public class Solution {
8 |
9 | public static void main(String[] args) {
10 |
11 | new Hobbie();
12 | System.out.println(Dream.HOBBIE.toString());
13 | System.out.println(new Hobbie().toString());
14 |
15 | }
16 |
17 | private interface Desire {
18 |
19 | }
20 |
21 | interface Dream {
22 |
23 | Hobbie HOBBIE = new Hobbie();
24 | }
25 |
26 | static class Hobbie implements Dream, Desire {
27 |
28 | static int INDEX = 1;
29 |
30 | @Override
31 | public String toString() {
32 | INDEX++;
33 | return "" + INDEX;
34 | }
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson02/task07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson02.task07;
2 |
3 | /* Параметризованый интерфейс
4 | В классе StringObject реализуй интерфейс SimpleObject с параметром типа String.
5 | */
6 |
7 | public class Solution {
8 |
9 | interface SimpleObject {
10 |
11 | SimpleObject getInstance();
12 | }
13 |
14 | class StringObject implements SimpleObject {
15 |
16 | public SimpleObject getInstance() {
17 | return new StringObject();
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson02/task08/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson02.task08;
2 |
3 | /* Жив или нет
4 | 1. Создай интерфейс Person.
5 | 2. Добавь в него метод isAlive(), который проверяет, жив человек или нет.
6 | 3. Подумай, какой тип должен возвращать этот метод.
7 | 4. Создай интерфейс Presidentable.
8 | 5. Унаследуй интерфейс Presidentable от интерфейса Person.
9 | */
10 |
11 | class Solution {
12 |
13 | private interface Person {
14 |
15 | boolean isAlive();
16 | }
17 |
18 | public interface Presidentable extends Person {
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson02/task09/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson02.task09;
2 |
3 | /* Наследование интерфейса
4 | 1. Создать интерфейс Movable с методом speed.
5 | 2. Метод speed возвращает значение типа Double и не принимает параметров.
6 | 3. Создать и унаследовать интерфейс Runable от интерфейса Movable.
7 | 4. Добавить в интерфейс Runable метод speed.
8 | 5. Метод speed возвращает значение типа Double и принимает один параметр типа Runable.
9 | */
10 |
11 | class Solution {
12 |
13 | private interface Movable {
14 |
15 | Double speed();
16 | }
17 |
18 | private interface Runable extends Movable {
19 |
20 | Double speed(Runable o);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson04/task02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson04.task02;
2 |
3 | /* Исправление кода
4 | Исправить код так, чтобы программа выполнялась и выводила "Я переводчик с английского".
5 | Метод main менять нельзя!
6 | */
7 |
8 | class Solution {
9 |
10 | public static void main(String[] args) {
11 | Translator translator = new Translator();
12 | System.out.println(translator.translate());
13 | }
14 |
15 | static class Translator {
16 |
17 | @SuppressWarnings("SameReturnValue")
18 | String translate() {
19 | return "Я переводчик с английского";
20 | }
21 | }
22 |
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson04/task03/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson04.task03;
2 |
3 | import java.awt.Color;
4 |
5 | /* Интерфейс Animal
6 | 1. Унаследовать Fox от интерфейса Animal.
7 | 2. Поменяй код так, чтобы в классе Fox был только один метод - getName.
8 | 3. Методы удалять нельзя!
9 | */
10 |
11 | class Solution {
12 |
13 | private interface Animal {
14 |
15 | Color getColor();
16 | }
17 |
18 | private static abstract class Fox implements Animal {
19 |
20 | @SuppressWarnings("SameReturnValue")
21 | public String getName() {
22 | return "Fox";
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson06/task01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson06.task01;
2 |
3 | /* Dog, Cat и Mouse
4 | 1. Создать классы Dog, Cat и Mouse.
5 | 2. Реализовать интерфейсы в добавленных классах, учитывая что:
6 | - Кот(Cat) может передвигаться, может кого-то съесть и может быть сам съеден.
7 | - Мышь(Mouse) может передвигаться и может быть съедена.
8 | - Собака(Dog) может передвигаться и съесть кого-то.
9 | */
10 |
11 | class Solution {
12 |
13 | private interface Moveable //может двигаться
14 | {
15 |
16 | }
17 |
18 | private interface Eatable //может быть съеден
19 | {
20 |
21 | }
22 |
23 | private interface Eat //может кого-нибудь съесть
24 | {
25 |
26 | }
27 |
28 | private class Cat implements Moveable, Eatable, Eat {
29 |
30 | }
31 |
32 | private class Mouse implements Moveable, Eatable {
33 |
34 | }
35 |
36 | private class Dog implements Moveable, Eat {
37 |
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus02/Person.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus02;
2 |
3 | public class Person implements RepkaItem {
4 |
5 | private final String name;
6 | private final String namePadezh;
7 |
8 | public Person(String name, String namePadezh) {
9 | this.name = name;
10 | this.namePadezh = namePadezh;
11 | }
12 |
13 | public String getNamePadezh() {
14 | return namePadezh;
15 | }
16 |
17 | public void pull(Person person) {
18 | System.out.println(this.name + " за " + person.getNamePadezh());
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus02/RepkaItem.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus02;
2 |
3 | interface RepkaItem {
4 |
5 | String getNamePadezh();
6 | }
7 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus02/RepkaStory.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus02;
2 |
3 | import java.util.List;
4 |
5 | class RepkaStory {
6 |
7 | static void tell(List items) {
8 |
9 | Person first;
10 | Person second;
11 | for (int i = items.size() - 1; i > 0; i--) {
12 | first = items.get(i);
13 | second = items.get(i - 1);
14 | first.pull(second);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus02/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus02;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | /* Репка
7 | Сказка Репка:
8 | 1. Реализовать интерфейс RepkaItem в классе Person.
9 | 2. В классе Person реализовать метод pull(Person person), который выводит фразу типа ' за '. Пример:
10 | Бабка за Дедку
11 | Дедка за Репку
12 | 3. Исправить логическую ошибку цикла в методе tell класса RepkaStory.
13 | 4. Выполнить метод main и наслаждаться сказкой!
14 | */
15 |
16 | class Solution {
17 |
18 | public static void main(String[] args) {
19 | List plot = new ArrayList<>();
20 | plot.add(new Person("Репка", "Репку"));
21 | plot.add(new Person("Дедка", "Дедку"));
22 | plot.add(new Person("Бабка", "Бабку"));
23 | plot.add(new Person("Внучка", "Внучку"));
24 | RepkaStory.tell(plot);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus03/Attackable.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus03;
2 |
3 | interface Attackable {
4 |
5 | BodyPart attack();
6 | }
7 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus03/BodyPart.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus03;
2 |
3 | public final class BodyPart {
4 |
5 | final static BodyPart LEG = new BodyPart("нога");
6 | final static BodyPart HEAD = new BodyPart("голова");
7 | final static BodyPart ARM = new BodyPart("рука");
8 | final static BodyPart CHEST = new BodyPart("грудь");
9 |
10 | private final String bodyPart;
11 |
12 | private BodyPart(String bodyPart) {
13 | this.bodyPart = bodyPart;
14 | }
15 |
16 | @Override
17 | public String toString() {
18 | return this.bodyPart;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus03/Defensable.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus03;
2 |
3 | interface Defensable {
4 |
5 | BodyPart defense();
6 | }
7 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/bonus03/Robot.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.bonus03;
2 |
3 | class Robot extends AbstractRobot {
4 |
5 | private final String name;
6 |
7 | Robot(String name) {
8 | this.name = name;
9 | }
10 |
11 | public String getName() {
12 | return name;
13 | }
14 |
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/home01/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.home01;
2 |
3 | /* Некорректные строки
4 | Удали все некорректные строки в интерфейсе Button.
5 | */
6 |
7 | class Solution {
8 |
9 | public static void main(String[] args) {
10 | System.out.println(SimpleObject.NAME);
11 | System.out.println(Button.NAME);
12 | }
13 |
14 | interface SimpleObject {
15 |
16 | String NAME = "SimpleObject";
17 |
18 | void onPress();
19 | }
20 |
21 | interface Button extends SimpleObject {
22 |
23 | String NAME = "Submit";
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/home02/Weather.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.home02;
2 |
3 | interface Weather {
4 |
5 | String getWeatherType();
6 | }
7 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/home02/WeatherType.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.home02;
2 |
3 | interface WeatherType {
4 |
5 | String CLOUDY = "Cloudy";
6 | String FOGGY = "Foggy";
7 | String FROZEN = "Frozen";
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/home06/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.home06;
2 |
3 | /* Исправление ошибок
4 | 1. Переделай наследование в классах и интерфейсах так, чтобы программа компилировалась и продолжала делать то же самое.
5 | 2. Класс Hobbie должен наследоваться от интерфейсов Desire, Dream.
6 | */
7 |
8 | public class Solution {
9 |
10 | public static void main(String[] args) {
11 | System.out.println(Dream.HOBBIE.toString());
12 | System.out.println(Hobbie.INDEX);
13 | }
14 |
15 | private interface Desire {
16 |
17 | }
18 |
19 | interface Dream {
20 |
21 | Hobbie HOBBIE = new Hobbie();
22 | }
23 |
24 | static class Hobbie implements Desire, Dream {
25 |
26 | static int INDEX = 1;
27 |
28 | @Override
29 | public String toString() {
30 | INDEX++;
31 | return "" + INDEX;
32 | }
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/src/com/javarush/test/level13/lesson11/home07/Solution.java:
--------------------------------------------------------------------------------
1 | package com.javarush.test.level13.lesson11.home07;
2 |
3 | /* Интерфейс SimpleObject
4 | 1. Создай класс StringObject.
5 | 2. В классе StringObject реализуй интерфейс SimpleObject с параметром типа String.
6 | 3. Программа должна компилироваться.
7 | */
8 |
9 | public class Solution {
10 |
11 | public static void main(String[] args) {
12 | SimpleObject stringObject = new StringObject<>();
13 | }
14 |
15 | interface SimpleObject {
16 |
17 | SimpleObject getInstance();
18 | }
19 |
20 | public static class StringObject