文章声明:转载来源:https://blog.csdn.net/qq_43763494/article/details/104199789
使用一个字符串 password 作为密码对另一个字符串 sourceString 进行加密;
EncryptAndDecrypt.java
package stringEncrypt;
public class EncryptAndDecrypt {
String encrypt(String sourceString, String password) {
char[] p = password.toCharArray();
int n = p.length;
char[] c = sourceString.toCharArray();
int m = c.length;
for(int k = 0; k < m; k++) {
int mima = c[k] + p[k % n]; //加密
c[k] = (char)mima;
}
return new String(c); //返回密文
}
String decrypt(String sourceString, String password) { //解密算法
char[] p = password.toCharArray();
int n = p.length;
char[] c = sourceString.toCharArray();
int m = c.length;
for(int k = 0; k < m; k++) {
int yuan = c[k] - p[k % n];
c[k] = (char)yuan;
}
return new String(c);
}
}
StringEncryptTest.java
package stringEncrypt;
import java.util.Scanner;
public class StringEncryptTest {
public static void main (String args[]) {
String sourceString = "今晚十点进攻";
EncryptAndDecrypt person = new EncryptAndDecrypt();
System.out.println("输入密码加密:" + sourceString);
Scanner inTo = new Scanner(System.in);
String password = inTo.nextLine();
String secret = person.encrypt(sourceString, password);
System.out.println("密文:" + secret);
System.out.println("输入解密密码");
password = inTo.nextLine();
String source = person.decrypt(secret, password);
System.out.println("明文:" + source);
}
}
运行结果
如果密码正确,解密就正确;
用Scanner解析字符串
用Scanner类从字符串中解析程序所需要的数据;
ScannerParse.java
package ScannerParseString;
import java.util.InputMismatchException;
import java.util.Scanner;
public class ScannerParse {
public static void main (String args[]) {
String cost = " TV cost 876 dollar.Computer cost 2398 dollar.telephone cost 1278 dollar";
Scanner inTo = new Scanner(cost);
double sum = 0;
while(inTo.hasNext()) {
try {
double price = inTo.nextDouble();
sum = sum + price;
System.out.println(price);
}
catch(InputMismatchException exp) {
String t = inTo.next();
} //当单词不是数字型单词时,调用nextInt()或nextDouble()产生异常
}
System.out.println("总消费:" + sum + "元");
}
}
运行结果:
哇,好棒啊,崇拜的小眼神