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相关推荐

  1. Pascal词法分析器用java实现

      此Pascal词法分析器翻版于一位叫csu_zhuzi老哥的作品,感兴趣可去查看,他写的很精巧很完备. 本作的特点 1.忠于原图,与转换图一一对应. 2.引入swith,相对简易的实现了关键字和符 ...

  2. 巴斯卡(Pascal)三角形Java算法

    用Java写了一个巴斯卡(Pascal)三角形的小程序,代码如下: import java.util.Scanner; /** * 巴斯卡(Pascal)三角形算法解析 * @author qjx * ...

  3. github上java_GitHub上Java的Bloom Bloom实现

    github上java 布隆过滤器是集数据结构的一种 . 对于那些不了解的对象,"设置数据结构"仅包含一个主要方法. 它仅用于确定特定元素是否包含在一组元素中. 大多数数据结构(例 ...

  4. [LeetCode] 118. Pascal's Triangle Java

    题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, ...

  5. hadoop_单元测试Java Hadoop作业

    hadoop 在我以前的文章中,我展示了如何设置一个完整的基于Maven的项目,以用Java创建Hadoop作业. 当然并没有完成,因为它缺少单元测试部分. 在这篇文章中,我将展示如何将MapRedu ...

  6. java游戏小程序_javaCode 158个经典小程序,里面包含各种小游戏代码,能提高初学者 趣,同事可以从中学习 Games 246万源代码下载- www.pudn.com...

    文件名称: javaCode下载  收藏√  [ 5  4  3  2  1 ] 所属分类: Games 开发工具: Java 文件大小: 543 KB 上传时间: 2015-10-25 下载次数: ...

  7. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

  8. 如何在Java中处理ConcurrentModificationException? 在循环中从ArrayList中删除元素时要当心...

    从Java中从ArrayList中删除元素时常见的问题之一是ConcurrentModificationException. 如果您对索引使用经典的for循环或增强的for循环,并尝试使用remove ...

  9. Java中的8种原始类型

    几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化. 首先,我要介绍有关Java的8种原始类型的所有信息. Ja ...

最新文章

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

热门文章

  1. 野三坡游记 探访岭南台村
  2. iOS 学习资料整理
  3. 蚂蚁感冒问题暴力解决
  4. mysql 取前几分钟和几秒,mysql 数据库取前后几秒 几分钟 几小时 几天的语句
  5. java 扫描器的使用练习
  6. idea中同一个项目同时启动多个端口进行访问
  7. 2022-2028年全球与中国零售会计软件行业发展趋势及竞争策略研究
  8. matlab load save
  9. 20180102189刘钰
  10. NQA、Track联动监测ISP链路状态