• ,

com.javarush.task.task32.task3213 не проходит тестирование

Шифр Цезаря

Привет Амиго. Ты знаешь, за нами следят, просматривают нашу переписку. Поэтому нужно шифровать трафик.

Для тебя не составит труда реализовать шифр Цезаря, напомню что это просто сдвиг вправо по алфавиту на key букв.

В методе main есть хороший пример.

Реализуй логику метода String decode(StringReader reader, int key).

Метод получает данные в закодированном виде.

Он должен вернуть дешифрованную строку, что хранится в StringReader — е.

Возвращаемый объект ни при каких условиях не должен быть null.

Метод main не участвует в тестировании.

package com.javarush.task.task32.task3213;

import java.io.IOException;
import java.io.StringReader;

/* 
Шифр Цезаря
*/

public class Solution {
    public static void main(String[] args) throws IOException {
        StringReader reader = new StringReader("Khoor Dpljr");
        System.out.println(decode(reader, -3));  //Hello Amigo

    }

    public static String decode(StringReader reader, int key) throws IOException {

        StringBuilder sb = new StringBuilder();
        int i = 0;
        try {
            while((i=reader.read())!=-1){
                int k =  i + key;

                char c = (char)k;

                sb.append©;

            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        String line = sb.toString();
        if (line == null){
            line = "ничего не пришло";
        }
        return line;
    }

}


Почему не проходит? Вывод в конце Hello Amigo. Вроде все верно

Комментариев нет

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.