pascal java_GitHub - DronPascal/Java-Basics
Java-Basics
Задание 1
Создать пустой проект в IntelliJ IDEA и прописать метод main();
Создать переменные всех пройденных типов данных, и инициализировать их значения;
Написать метод, вычисляющий выражение a * (b + (c / d)) и возвращающий результат, где a, b, c, d – входные параметры этого метода;
Написать метод, принимающий на вход два числа, и проверяющий, что их сумма лежит в пределах от 10 до 20 (включительно), если да – вернуть true, в противном случае – false;
Написать метод, которому в качестве параметра передается целое число, метод должен напечатать в консоль положительное число передали или отрицательное (Замечание: ноль считаем положительным числом.);
Написать метод, которому в качестве параметра передается целое число, метод должен вернуть true, если число отрицательное;
Написать метод, которому в качестве параметра передается строка, обозначающая имя, метод должен вывести в консоль сообщение «Привет, указанное_имя!»;
*Написать метод, который определяет, является ли год високосным, и выводит сообщение в консоль. Каждый 4-й год является високосным, кроме каждого 100-го, при этом каждый 400-й – високосный.
*Не набирая код в IDE, ответьте на следующий вопрос. Есть два метода:
void myMethod(int a, String b) {}
void myMethod(String b, int a) {}
Это две разных сигнатуры одного метода или один и тот же метод?
Задание 2
Задать целочисленный массив, состоящий из элементов 0 и 1. Например: [ 1, 1, 0, 0, 1, 0, 1, 1, 0, 0 ]. С помощью цикла и условия заменить 0 на 1, 1 на 0;
Задать пустой целочисленный массив размером 8. С помощью цикла заполнить его значениями 0 3 6 9 12 15 18 21;
Задать массив [ 1, 5, 3, 2, 11, 4, 5, 2, 4, 8, 9, 1 ], пройти по нему циклом, и числа, меньшие 6, умножить на 2;
Создать квадратный двумерный целочисленный массив (количество строк и столбцов одинаковое), и с помощью цикла(-ов) заполнить его диагональные элементы единицами;
Задать одномерный массив и найти в нем минимальный и максимальный элементы (без помощи интернета);
Написать метод, в который передается не пустой одномерный целочисленный массив, метод должен вернуть true, если в массиве есть место, в котором сумма левой и правой части массива равны. Примеры: checkBalance([1, 1, 1, || 2, 1]) → true, checkBalance ([2, 1, 1, 2, 1]) → false, checkBalance ([10, || 10]) → true, граница показана символами ||, эти символы в массив не входят;
*Написать метод, которому на вход подается одномерный массив и число n (может быть положительным или отрицательным), при этом метод должен сместить все элементы массива на n позиций. Нельзя пользоваться вспомогательными массивами.
Задание 3
Полностью разобраться с кодом, попробовать переписать с нуля, стараясь не подглядывать;
Реализовать логику более умного компьютера, который определяет свой ход на основании соседних клеток;
Найти в коде неоптимальные места и улучшить их;
*Усилить логику алгоритмом с подсчётом очков для каждой клетки.
Задание 4
Создать класс «Сотрудник» с полями: ФИО, должность, email, телефон, зарплата, возраст;
Конструктор класса должен заполнять эти поля при создании объекта;
Внутри класса «Сотрудник» написать метод, который выводит информацию об объекте в консоль;
Создать массив из 5 сотрудников:
Пример:
Person[] persArray = new Person[5]; // Вначале объявляем массив объектов
persArray[0] = new Person("Ivanov Ivan", "Engineer", " ivivan@mailbox.com ", "892312312", 30000,
30); // потом для каждой ячейки массива задаем объект
persArray[1] = new Person(...);
...
persArray[4] = new Person(...);
С помощью цикла вывести информацию только о сотрудниках старше 40 лет;
Создать классы Собака и Кот с наследованием от класса Животное;
Животные могут выполнять действия: бежать, плыть, перепрыгивать препятствие. В качестве параметра каждому методу передается величина, означающая или длину препятствия (для бега и плавания), или высоту (для прыжков);
У каждого животного есть ограничения на действия (бег: кот – 200 м., собака – 500 м.; прыжок: кот – 2 м., собака – 0.5 м.; плавание: кот не умеет плавать, собака – 10 м.);
При попытке животного выполнить одно из этих действий, оно должно сообщить результат в консоль. (Например, dog1.run(150); -> результат: run: true);
*Добавить животным разброс в ограничениях. То есть у одной собаки ограничение на бег может быть 400 м., у другой – 600 м.
Задание 5
Скрыть текст задания
Время истекло
Пауза
Задачи на взаимодействие классов:
Класс кота из прошлого ДЗ расширить функционалом потребления пищи. У каждого кота есть аппетит, т.е. количество еды, которое он съедает за один раз;
Кот должен есть из миски. Создайте такую сущность, которая будет обладать объёмом и едой в ней, а также методами наполнения и получения информации о количестве еды;
Метод из первого пункта ДЗ должен взаимодействовать с миской, т.е., конкретный кот ест из конкретной миски, уменьшая объём еды в ней;
Предусмотрите проверку, при которой в миске не может получиться отрицательного количества еды (например, в миске 10 единиц еды, а кот пытается съесть 15);
Каждому коту нужно добавить поле сытость (когда создаем котов, они голодны). Если коту удалось поесть (хватило еды), сытость = true;
Считаем, что если коту мало еды в тарелке, то он её просто не трогает, то есть не может быть наполовину сыт (это сделано для упрощения логики программы);
Создать массив котов и одну тарелку с едой, попросить всех котов покушать из этой тарелки и потом вывести информацию о сытости котов в консоль;
Когда еда в тарелке кончается, нужно оповещать об этом и наполнять её едой.
Задание 6
Разработать оконное приложение «Калькулятор»;
1.1. Калькулятор должен выполнять 4 простейшие арифметические операции.
1.2. Калькулятор должен иметь одно окно вывода результатов.
1.3. Калькулятор работает с двумя параметрами, вводимыми пользователем в окна ввода.
Подсказка 1: поля ввода в приложении дают читать только текстовые данные. Для преобразования
нужно использовать классы-оболочки: https://habrahabr.ru/post/49582/.
*Научить калькулятор операции возведения в степень.
Задание 7
Найти неоптимальные и плохие места в коде игры;
Оптимизировать их;
Портировать методы AI и определения победы в ООП-реализацию.
pascal java_GitHub - DronPascal/Java-Basics相关推荐
- Pascal词法分析器用java实现
此Pascal词法分析器翻版于一位叫csu_zhuzi老哥的作品,感兴趣可去查看,他写的很精巧很完备. 本作的特点 1.忠于原图,与转换图一一对应. 2.引入swith,相对简易的实现了关键字和符 ...
- 巴斯卡(Pascal)三角形Java算法
用Java写了一个巴斯卡(Pascal)三角形的小程序,代码如下: import java.util.Scanner; /** * 巴斯卡(Pascal)三角形算法解析 * @author qjx * ...
- github上java_GitHub上Java的Bloom Bloom实现
github上java 布隆过滤器是集数据结构的一种 . 对于那些不了解的对象,"设置数据结构"仅包含一个主要方法. 它仅用于确定特定元素是否包含在一组元素中. 大多数数据结构(例 ...
- [LeetCode] 118. Pascal's Triangle Java
题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, ...
- hadoop_单元测试Java Hadoop作业
hadoop 在我以前的文章中,我展示了如何设置一个完整的基于Maven的项目,以用Java创建Hadoop作业. 当然并没有完成,因为它缺少单元测试部分. 在这篇文章中,我将展示如何将MapRedu ...
- java游戏小程序_javaCode 158个经典小程序,里面包含各种小游戏代码,能提高初学者 趣,同事可以从中学习 Games 246万源代码下载- www.pudn.com...
文件名称: javaCode下载 收藏√ [ 5 4 3 2 1 ] 所属分类: Games 开发工具: Java 文件大小: 543 KB 上传时间: 2015-10-25 下载次数: ...
- java原始类型和引用类型_Java中的8种原始类型
java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...
- 如何在Java中处理ConcurrentModificationException? 在循环中从ArrayList中删除元素时要当心...
从Java中从ArrayList中删除元素时常见的问题之一是ConcurrentModificationException. 如果您对索引使用经典的for循环或增强的for循环,并尝试使用remove ...
- Java中的8种原始类型
几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化. 首先,我要介绍有关Java的8种原始类型的所有信息. Ja ...
最新文章
- 清华大学公管学院、数据科学研究院共同助力国家数据治理,国家数据与治理联盟在京成立
- 这款AI耳机可以主宰你的情绪,决定让你是哭还是笑
- 关于烂代码的那些事(中)
- muduo之Connector
- Mysql默认隔离级别为什么是可重复读?
- boost::remove_copy相关的测试程序
- JavaScript pop()函数弹出数组最后数据
- 工厂模式解耦---控制反转
- windows 2008 R2远程桌面无法本地复制文件到远程解决
- [deviceone开发]-doSpace应用源码开源
- c语言输入一个字符 对其进行归类,计算机二级C语言改错题归类 - 图文
- 初试牛刀的收获-freetextbox的应用
- 虚拟机黑裙加载硬盘_适合练手,在虚拟机中安装黑群晖,想要组建NAS服务器的看这里...
- 『 论文阅读』Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling
- 阿里云物联网平台如何通过云产品流转使两个设备互相通信
- 软件测试周刊(第50期):归结起来,焦虑的原因就两条:想同时做很多事情,又想立即看到效果。
- java 用户留存率_【java】mongodb 数据统计(留存率) 应该怎么实现?
- linux 安装谷歌浏览器--Google chrome
- 上海基诺墙绘 总羡慕别人家的墙绘,今天教你如何画自己家的墙绘!
- linux中mysql的安装与卸载_linux的mysql安装与卸载