-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodeCaesar.java
More file actions
41 lines (33 loc) · 1.81 KB
/
codeCaesar.java
File metadata and controls
41 lines (33 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
/*
Шифр Цезаря
*/
public class Solution {
public static void main(String[] args) throws IOException {
StringReader reader = new StringReader("Khoor#Dpljr#&C,₷B'3");
System.out.println(decode(reader, -3)); //Hello Amigo #@)₴?$0
}
public static String decode(StringReader reader, int key) throws IOException {
StringWriter writer = new StringWriter();
int oneByte;
if(reader != null){
while((oneByte = reader.read()) != -1){
writer.write(oneByte + key);
}
}
return writer.toString();
}
}
/*Для тебя не составит труда реализовать шифр Цезаря, напомню что это просто сдвиг вправо по алфавиту на key букв.
В методе main есть хороший пример.
Реализуй логику метода String decode(StringReader reader, int key).
Метод получает данные в закодированном виде.
Он должен вернуть дешифрованную строку, что хранится в StringReader - е.
Возвращаемый объект ни при каких условиях не должен быть null.
Метод main не участвует в тестировании.
Требования:
1. Класс Solution должен содержать метод String decode(StringReader reader, int key).
2. Метод decode(StringReader reader, int key) должен вернуть дешифрованную строку что хранится в StringReader - е.
3. Возвращаемый объект ни при каких условиях не должен быть null.*/