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. 清华大学公管学院、数据科学研究院共同助力国家数据治理,国家数据与治理联盟在京成立
  2. 这款AI耳机可以主宰你的情绪,决定让你是哭还是笑
  3. 关于烂代码的那些事(中)
  4. muduo之Connector
  5. Mysql默认隔离级别为什么是可重复读?
  6. boost::remove_copy相关的测试程序
  7. JavaScript pop()函数弹出数组最后数据
  8. 工厂模式解耦---控制反转
  9. windows 2008 R2远程桌面无法本地复制文件到远程解决
  10. [deviceone开发]-doSpace应用源码开源
  11. c语言输入一个字符 对其进行归类,计算机二级C语言改错题归类 - 图文
  12. 初试牛刀的收获-freetextbox的应用
  13. 虚拟机黑裙加载硬盘_适合练手,在虚拟机中安装黑群晖,想要组建NAS服务器的看这里...
  14. 『 论文阅读』Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling
  15. 阿里云物联网平台如何通过云产品流转使两个设备互相通信
  16. 软件测试周刊(第50期):归结起来,焦虑的原因就两条:想同时做很多事情,又想立即看到效果。
  17. java 用户留存率_【java】mongodb 数据统计(留存率) 应该怎么实现?
  18. linux 安装谷歌浏览器--Google chrome
  19. 上海基诺墙绘 总羡慕别人家的墙绘,今天教你如何画自己家的墙绘!
  20. linux中mysql的安装与卸载_linux的mysql安装与卸载

热门文章

  1. 工商银行顾欣:分布式全链路灰度发布的探索与实践
  2. [算法]LeetCode每日一题--174. 地下城游戏(Java)
  3. BUMO:超级节点共建接口
  4. js13位时间戳转换,10位时间戳转换
  5. 题目1155:鸡兔同笼
  6. 计算机网络应用基础教学计划,高一计算机网络应用基础教学计划.doc
  7. 拼多多百亿补贴石锤了!
  8. 作业要求20190919-2 功能测试
  9. Hibernate的几种查询方式 HQL,QBC,QBE,离线查询,复合查询,分页查询
  10. 阿翔编程学-PKI介绍