[more] В шифре Цезаря каждый символ заменяется на другой символ, третий по счету в алфавите после данного, с цикличность. То есть символ A заменяется на D, символ B - на E, символ C - на F, ..., символ Z на C. Аналогично строчные буквы заменяются на строчные буквы. Все остальные символы не меняются.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher (S, k), возвращающей новую строку. <сode>S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k=3.
Указание: сделайте функцию CaesarCipherChar(c, k), шифрующую один символ.
import java.util.Scanner;
public class Shifr {
private static int bigChar(int checkChr) {
if (checkChr > 90)
return checkChr - 25;
else if (checkChr < 65)
return checkChr + 25;
return checkChr;
}
private static int littleChar(int checkChr) {
if (checkChr > 122)
return checkChr - 25;
else if (checkChr < 97)
return checkChr + 25;
return checkChr;
}
private static String codCaesar(char [] codidStr, int offset) {
for (int i = 0; i < codidStr.length; i++) {
if (codidStr[i] >= 'A' && codidStr[i] <= 'Z') {
codidStr[i] = (char)bigChar(codidStr[i] + offset);
}
else if (codidStr[i] >= 'a' && codidStr[i] <= 'z') {
codidStr[i] = (char)littleChar(codidStr[i] + offset);
}
}
return new String(codidStr);
}
public static void main(String[] args) {
Scanner r = new Scanner(System.in);
char[] charForCoding = r.nextLine().toCharArray();
int k = 3;
System.out.println(codCaesar(charForCoding,k));
}}
[/more]
Добавлено:
[more] В шифре Цезаря каждый символ заменяется на другой символ, третий по счету в алфавите после данного, с цикличность. То есть символ A заменяется на D, символ B - на E, символ C - на F, ..., символ Z на C. Аналогично строчные буквы заменяются на строчные буквы. Все остальные символы не меняются.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher (S, k), возвращающей новую строку. <сode>S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k=3.
Указание: сделайте функцию CaesarCipherChar(c, k), шифрующую один символ.
package cyberforum;
import java.util.Scanner;
public class CyberForum {
private static int bigChar(int checkChr) {
if (checkChr > 90)
return checkChr - 25;
else if (checkChr < 65)
return checkChr + 25;
return checkChr;
}
private static int littleChar(int checkChr) {
if (checkChr > 122)
return checkChr - 25;
else if (checkChr < 97)
return checkChr + 25;
return checkChr;
}
private static String codCaesar(char [] codidStr, int offset) {
for (int i = 0; i < codidStr.length; i++) {
if (codidStr[i] >= 'A' && codidStr[i] <= 'Z') {
codidStr[i] = (char)bigChar(codidStr[i] + offset);
}
else if (codidStr[i] >= 'a' && codidStr[i] <= 'z') {
codidStr[i] = (char)littleChar(codidStr[i] + offset);
}
}
return new String(codidStr);
}
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("Введите текст для кодирования");
char[] charForCoding = reader.nextLine().toCharArray();
System.out.println("Введите ключ кодирования/декодирования 1-25");
System.out.println("Для декодирования введите отрецательное значения ключа");
int k = reader.nextInt();
System.out.println(codCaesar(charForCoding,k));
} [/more]
Добавлено:
Помогите, пожалуйста, решить задачу, а то у меня зачет, а у меня ошибку выдает..
программирование на JAVA
В шифре Цезаря каждый символ заменяется на другой символ, третий по счету в алфавите после данного, с цикличность. То есть символ A заменяется на D, символ B - на E, символ C - на F, ..., символ Z на C. Аналогично строчные буквы заменяются на строчные буквы. Все остальные символы не меняются.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher (S, k), возвращающей новую строку. <сode>S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k=3.
Указание: сделайте функцию CaesarCipherChar(c, k), шифрующую один символ.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher (S, k), возвращающей новую строку. <сode>S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k=3.
Указание: сделайте функцию CaesarCipherChar(c, k), шифрующую один символ.
import java.util.Scanner;
public class Shifr {
private static int bigChar(int checkChr) {
if (checkChr > 90)
return checkChr - 25;
else if (checkChr < 65)
return checkChr + 25;
return checkChr;
}
private static int littleChar(int checkChr) {
if (checkChr > 122)
return checkChr - 25;
else if (checkChr < 97)
return checkChr + 25;
return checkChr;
}
private static String codCaesar(char [] codidStr, int offset) {
for (int i = 0; i < codidStr.length; i++) {
if (codidStr[i] >= 'A' && codidStr[i] <= 'Z') {
codidStr[i] = (char)bigChar(codidStr[i] + offset);
}
else if (codidStr[i] >= 'a' && codidStr[i] <= 'z') {
codidStr[i] = (char)littleChar(codidStr[i] + offset);
}
}
return new String(codidStr);
}
public static void main(String[] args) {
Scanner r = new Scanner(System.in);
char[] charForCoding = r.nextLine().toCharArray();
int k = 3;
System.out.println(codCaesar(charForCoding,k));
}}
[/more]
Добавлено:
[more] В шифре Цезаря каждый символ заменяется на другой символ, третий по счету в алфавите после данного, с цикличность. То есть символ A заменяется на D, символ B - на E, символ C - на F, ..., символ Z на C. Аналогично строчные буквы заменяются на строчные буквы. Все остальные символы не меняются.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher (S, k), возвращающей новую строку. <сode>S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k=3.
Указание: сделайте функцию CaesarCipherChar(c, k), шифрующую один символ.
package cyberforum;
import java.util.Scanner;
public class CyberForum {
private static int bigChar(int checkChr) {
if (checkChr > 90)
return checkChr - 25;
else if (checkChr < 65)
return checkChr + 25;
return checkChr;
}
private static int littleChar(int checkChr) {
if (checkChr > 122)
return checkChr - 25;
else if (checkChr < 97)
return checkChr + 25;
return checkChr;
}
private static String codCaesar(char [] codidStr, int offset) {
for (int i = 0; i < codidStr.length; i++) {
if (codidStr[i] >= 'A' && codidStr[i] <= 'Z') {
codidStr[i] = (char)bigChar(codidStr[i] + offset);
}
else if (codidStr[i] >= 'a' && codidStr[i] <= 'z') {
codidStr[i] = (char)littleChar(codidStr[i] + offset);
}
}
return new String(codidStr);
}
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("Введите текст для кодирования");
char[] charForCoding = reader.nextLine().toCharArray();
System.out.println("Введите ключ кодирования/декодирования 1-25");
System.out.println("Для декодирования введите отрецательное значения ключа");
int k = reader.nextInt();
System.out.println(codCaesar(charForCoding,k));
} [/more]
Добавлено:
Помогите, пожалуйста, решить задачу, а то у меня зачет, а у меня ошибку выдает..
программирование на JAVA
В шифре Цезаря каждый символ заменяется на другой символ, третий по счету в алфавите после данного, с цикличность. То есть символ A заменяется на D, символ B - на E, символ C - на F, ..., символ Z на C. Аналогично строчные буквы заменяются на строчные буквы. Все остальные символы не меняются.
Дана строка, зашифруйте ее при помощи шифра Цезаря. Решение оформите в виде функции CaesarCipher (S, k), возвращающей новую строку. <сode>S — исходная строка, k — величина сдвига. Функцию нужно вызывать со значением k=3.
Указание: сделайте функцию CaesarCipherChar(c, k), шифрующую один символ.