package edu.secretcode;
import java.util.Scanner;
/**
* Creates the secret code class.
*
* @author
*
*/
public class SecretCode {
/**
* Perform the ROT13 operation
*
* @param plainText
* the text to encode
* @return the rot13'd encoding of plainText
*/
public static String rotate13(String plainText) {
StringBuffer cryptText = new StringBuffer("");
for (int i = 0; i < plainText.length() - 1; i++) {
char currentChar = plainText.charAt(i);
currentChar = (char) ((char) (currentChar - 'A' + 13) % 26 + 'A');
cryptText.append(currentChar);
if (currentChar <= 'A' || currentChar >= 'Z') {
cryptText.append(plainText.charAt(i));
}
else {
currentChar = (char) ((char) (currentChar - 'A' + 13) % 26 + 'A');
cryptText.append(currentChar);
}
}
return cryptText.toString();
}
/**
* Main method of the SecretCode class
*
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (1 > 0) {
System.out.println("Enter plain text to encode, or QUIT to end");
Scanner keyboard = new Scanner(System.in);
String plainText = keyboard.nextLine();
if (plainText.equals("QUIT")) {
break;
}
String cryptText = SecretCode.rotate13(plainText);
String encodedText = SecretCode.rotate13(plainText);
System.out.println("Encoded Text: " + encodedText);
}
}
}
大家好,我希望这个程序能够对大写字母进行编码,而不使用其他字符,并通过输出传递它们。例如“你好,世界!”运行程序“URYY\d_YQ!”后应变为我得到的是Yluhreylbowjwboerylqdxk而不是“URYY\dyq!”这就是我应该得到的。如果有人能让我知道我做错了什么,我将不胜感激。提前谢谢。
如果您将字符串匹配与正则表达式一起使用,会更容易。首先,在循环条件中,消除-1
。否则你只能得到倒数第二个角色。
接下来,消除if语句之前的cryptText.append(当前Char);
。然后,用这个
char currentChar = plainText.charAt(i);
String cS = currentChar+"";
currentChar = (char) ((char) (currentChar - (int)'A' + 13) % 26 + (int)'A');
if (!cS.matches("[A-Z]")) {
cryptText.append(plainText.charAt(i));
}
else {
cryptText.append(currentChar);
}
这实际上是有效的,除了我得到了一些不同于你想要的角色。你好世界!=
因此,我最近开始使用ffmpeg下载实时流媒体视频,但我面临的问题是,下载的视频会阻塞很多,特别是对于长视频(如2小时)而言。 我当前用于下载流文件的命令:- ffmpeg-i"https://link. m3u8"-c复制output.mkv 此命令在35分钟长的视频中运行良好[没有任何卡滞问题],但在2小时长的视频中失败 当我试图使用x264 lib命令编码2小时长的视频时,它还显示了“无效长
问题内容: 以编程方式确定输入流/文件的正确字符集编码的最佳方法是什么? 我尝试使用以下方法: 但是在我知道要用ISO8859_1编码的文件上,上面的代码会产生ASCII,这是不正确的,并且不允许我将文件的内容正确地呈现回控制台。 问题答案: 无法确定任意字节流的编码。这就是编码的本质。编码是指字节值与其表示形式之间的映射。因此,每种编码“都可以”是正确的。 的getEncoding()方法将返回
我有一个缓冲区与字符编码在Windows 1252。然而,当我用适当的编码创建一个新的字符串时,而不是预期的结果,我经常会得到询问标记,例如。 因此,系统应在其上方显示带“^”的“u”字符。而是显示“?”。 任何想法?
我对编码很陌生。尝试用Java编写一个evaluatePostfix函数。我不断得到一个错误: 不兼容的类型:int不能转换为字符堆栈。push(eval(token,a,b)); 下面是我的代码块: 函数接受后缀表达式并计算结果。 这是我的eval函数:
我正在尝试使用JSoup获取此URL http://betatruebaonline.com/img/parte/330/ciguen%c3%91al.jpg 相反,正确的 http://betatruebaonline.com/img/parte/330/ciguen%cc%83al.jpg 我该怎么解决这个?多谢了。
因此,目前我的凯撒密码程序运行良好,每当我使用小写字母。但是,当我用大写输入一个单词或短语时,我想让它工作。这是我现在有的代码。希望你们能帮我完成这件事。 def encrypt(消息,距离):“”将获取消息并将其旋转到距离,以创建加密消息“” def decrypt(消息,距离):“”“将解密上面的消息”“” def binaryConversion(消息):“”“将把单词转换成二进制代码”“