Сообщество - Задачки для изучающих Java

Задачки для изучающих Java

43 поста 1 756 подписчиков

Популярные теги в сообществе:

Java. Я должен выучить его с нуля и мне нужна помощь

это мой первый пост на Пикабу и я не очень шарю, как его писать, но, думаю, разберусь. уж не совсем я дурак.
я Даня. мне 30.

итак: я понял, что хочу изучить Java. не стану объяснять, почему именно его, да и вряд ли это кому-то важно. суть в том, что делать это я собираюсь самостоятельно и на первых шагах - бесплатно.

и вот мне нужна последовательность этих шагов от профессионала или хотя бы от сколько-то шарящего человека.
мне нужен доступный (и по содержанию, и по онлайновости/торрентовости) учебник и отсылки к видеоурокам.
мне нужны любые советы.

я видел тут пост человека, который рассказал о платформе, на которой профессионалами как раз даются такие последовательности шагов для любого самообразования, однако ресурс молодой и там есть про Javascript, а про Java пока нет.

дело в том, что я - круглый ноль не только в программировании, но и ̶в̶о̶о̶б̶щ̶е̶ ̶в̶ ̶ж̶и̶з̶н̶и̶ ̶ в математике, не говоря уже об алгебре. и началах анализа. мордкович. брррррр

однако воля моя не сломится перед этой чепухой. найдись, о мудрый и снисходительный человек. в очках. наверное, в очках.

я счастлив от любой вашей информации.
спасибо и заранее ура!

Показать полностью

Nodejs убунту

Добрый день. Установил ubuntu server, apache2, mongodb, nodejs.  Собственно несколько вопросов общих. Как я понимаю приложения разрабатываются в Винде на веб шторме, а потом уже копируются на сервер? Для простых заданий (отработка post get запросов) нужно ставить express?

Помогите новичку

Помогите новичку Чайник, Java

Описание задачи таково:
Программа считывает с консоли число N, потом считывает N чисел с консоли, выводит на экран максимум.
Знаю, возможно решить задачу гораздо проще или же тут написана бредятина, но все же. Кто нить хелпаните в решение

Java, совет

Наткнулся на сервис по самостоятельному изучению Java языка "javarush". Имеется там платная подписка.
Кто-нибудь пользовался платным сервисом? Стоит ли оно того или можно найти другие варианты?

Задачка с Hyperskill

Всем доброго времени суток.

Решаю задачки в проекте Encryption - Decryption на Hyperskill.

Дошел до stage 5, финальное задание уровня.


https://hyperskill.org/projects/46/stages/249/implement


Столкнулся с проблемой, Wrong answer in test #1.

Хотя в IDE программа работает нормально, выводит сообщение об ошибке, если наступает исключение.

Код аппликухи:


package encryptdecrypt;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Scanner;


public class Main {


static String fileMessage(String pathOpenFile) throws FileNotFoundException {

try {

String outputMessage = "";

File file = new File(pathOpenFile);

Scanner scan = new Scanner(file, "Cp1251");

while (scan.hasNext()) {

outputMessage = outputMessage + scan.nextLine() + " ";

}

scan.close();

return outputMessage;

} catch (FileNotFoundException e) {

return null;

}

}


static void writeToFile(String pathNewFile, String message) throws IOException {

File file = new File(pathNewFile);

FileWriter fileWriter = new FileWriter(file);

fileWriter.write(message);

fileWriter.close();

}


//Дешифровка

static String dec(String inputMessage, int selectedKey) {

try {

char[] textToArray = inputMessage.toCharArray(); //Массив символов до преобразования

char[] decArray = new char[inputMessage.length()]; //Массив символов после преобразования

int[] intNumberOfChars = new int[inputMessage.length()]; //Массив с кодами символов до преобразования

int[] newIntNumberOfChars = new int[inputMessage.length()]; //Массив с кодами символов после преобразования

String newMessage;

//Заполнение массива значениями символов изначального сообщения

for (int i = 0; i < inputMessage.length(); i++) {

intNumberOfChars[i] = textToArray[i];

}

//Заполняем массив кодами со сдвигом

for (int i = 0; i < inputMessage.length(); i++) {

newIntNumberOfChars[i] = intNumberOfChars[i] - selectedKey;

}

//Преобразуем новый массив кодов в символьный массив

for (int i = 0; i < inputMessage.length(); i++) {

decArray[i] = (char) newIntNumberOfChars[i];

}

newMessage = String.valueOf(decArray);

return newMessage;

} catch (NullPointerException e) {

return null;

}

}


//Шифрование

static String enc(String inputMessage, int selectedKey) {

try {

char[] textToArray = inputMessage.toCharArray(); //Массив символов до преобразования

char[] decArray = new char[inputMessage.length()]; //Массив символов после преобразования

int[] intNumberOfChars = new int[inputMessage.length()]; //Массив с кодами символов до преобразования

int[] newIntNumberOfChars = new int[inputMessage.length()]; //Массив с кодами символов после преобразования

String newMessage;

//Заполнение массива значениями символов изначального сообщения

for (int i = 0; i < inputMessage.length(); i++) {

intNumberOfChars[i] = textToArray[i];

}

//Заполняем массив кодами со сдвигом

for (int i = 0; i < inputMessage.length(); i++) {

newIntNumberOfChars[i] = intNumberOfChars[i] + selectedKey;

}

//Преобразуем новый массив кодов в символьный массив

for (int i = 0; i < inputMessage.length(); i++) {

decArray[i] = (char) newIntNumberOfChars[i];

}

newMessage = String.valueOf(decArray);

return newMessage;

} catch (NullPointerException e) {

return null;

}

}


public static void main(String[] args) throws IOException {

int counter = 0;

int coutner2 = 0;

final String optionMode = "-mode";

final String optionData = "-data";

final String optionIn = "-in";

final String optionOut = "-out";

final String optionKey = "-key";

String finalMessage = "";

String selectedMode = "enc";

String pathOpenFile = "";

String pathNewFile = "";

String inputMessage = "";

int selectedKey = 0;


if (args.length == 0) {

System.out.println("Error");

System.exit(0);

}


//Проверяем введенные опции и присваиваем их

for (int i = 0; i < args.length; i += 2) {

if (args[i].equals(optionMode)) {

selectedMode = args[i + 1];

}

if (args[i].equals(optionData)) {

inputMessage = args[i + 1];

counter = 1;

}

if (args[i].equals(optionIn)) {

pathOpenFile = args[i + 1];

counter+=10;

}

if (args[i].equals(optionOut)) {

pathNewFile = args[i + 1];

coutner2=+15;

}

if (args[i].equals(optionKey)) {

selectedKey = Integer.parseInt(args[i + 1]);

}

}


//Проверяем наличие полей ввода. Если есть ввод с консоли, читает с консоли, игнорируя файл.

if (counter != 1 && counter != 11) {

inputMessage = fileMessage(pathOpenFile);

}


//Проверяем выбранный мод.

if (selectedMode.equals("enc")) {

finalMessage = enc(inputMessage, selectedKey);

}

if (selectedMode.equals("dec")) {

finalMessage = dec(inputMessage, selectedKey);

}


if (coutner2 == 15) {

if (finalMessage == null){

System.out.println("Error");

} else {

writeToFile(pathNewFile, finalMessage);

}

} else {

if (finalMessage == null){

System.out.println("Error");

} else {

System.out.println(finalMessage);

}

}

}

}



Можете подсказать, в какую сторону копать?

Показать полностью
6

Java с нуля 2.3 Составные части переменной

Для тех кто все таки решил пройти длинный путь Джависта.

Давайте проходить вместе.

Все видео уроки выкладываются на этом канале https://www.youtube.com/channel/UCzzISQighn54RiM2e8tYB5w

Пожалуйста! Объясните код Java именно в этом случае на пальцах

Я знаю как эту конструкцию написать в


if -- else if


Но в эту строчку я просто влюбился!


System.out.println

("количество дней в году: " + (i%4==0 ? i%100==0 ? i%400==0 ? "366" : "365" : "366" : "365") );

//снятие данных со сканера и вычисление года високосный или не високосный


я знаю как работает тернарный оператор. 

Пожалуйста! Объясните код Java именно в этом случае на пальцах Java, Программирование, Помощь, Без рейтинга

но в этом шедевре  (i%4==0 ? i%100==0 ? i%400==0 ? "366" : "365" : "366" : "365")
ещё не могу разобраться. Гуру! Помогите пожалуйста!
Заранее благодарен!

Показать полностью 1

Задачка с Hyperskill не проходит проверку

Всем привет.

Помогите пожалуйста с задачкой с hyperskill, она у меня не проходит проверку с ошибкой "wrong answer", хотя вроде все правильно. Спасибо


ссылка на задачку

https://hyperskill.org/projects/7/stages/42/implement


а вот моё решение

https://github.com/tswg/HyperSkillMaster/blob/master/src/Mai...

Отличная работа, все прочитано!