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 ...
最新文章
- TCP,IP数据包结构
- 打包工具的配置教程见的多了,但它们的运行原理你知道吗?
- 使用DBCA工具创建自己的数据库
- [css] 举例说明你对指针事件(pointer-events)的理解
- layui-简单辅助元素 - 页面元素
- 计算机软件通常分为两大类 它们是,计算机考试题库:计算机考试练习题(79)...
- 配置Ubuntu系统环境变量
- python 环境管理工具_python3环境管理器
- django在linux一直跑
- 反激变压器结构设计学习笔记(进阶)
- matlab极坐标系作图,matlab极坐标作图
- 解决idea百度翻译无法使用的问题
- Python量化分析应该怎么做 ?
- 阿里云的认证有效期是多久?到期后怎么办呢?
- JLINK的SWD接口调试器制作
- Essential C++读书笔记
- VB.NET中IIF和IF使用效率分析
- 以太网 PoE 供电交换机
- 【玩转ESP32】5、i2c-tools访问i2c设备
- 上海交通大学计算机科学杨岚青博士,孤立性肺结节外科诊断相关问题的研究