问题:提示用户输入一个英文字符串或者要解密的字符串,然后通过扫描仪获取用户输入的字符串,经过加密或者解密后,把字符串输出。
import java.util.Scanner;public class Encryption {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入一个英文字符串或解密字符串");String password = scan.nextLine();//获取用户输入,这里可以有空格;char [] array = password.toCharArray();//获取字符数组for(int i = 0;i<array.length;i++){//遍历字符数组array[i] = (char) (array[i]^20000);//对每个数组元素进行异或运算}System.out.println("加密或解密结果如下:");System.out.println(new String (array));//输出密钥}}
这里的代码第七行scan.nextLine();可以得到带空格的字符串。
import java.util.Scanner;public class Encryption {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入一个英文字符串或解密字符串");String password = scan.next();//获取用户输入,这里不能有空格;char [] array = password.toCharArray();//获取字符数组for(int i = 0;i<array.length;i++){//遍历字符数组array[i] = (char) (array[i]^20000);//对每个数组元素进行异或运算}System.out.println("加密或解密结果如下:");System.out.println(new String (array));//输出密钥}}
这里的代码第七行scan.next();不能得到带空格的字符串。
代码第八行的引用java String类中的这个方法:
char [] array = password.toCharArray();
toCharArray() 方法将字符串转换为字符数组。
语法
public char[] toCharArray()
参数
无
返回值
字符数组。
实例
public class Test {public static void main(String args[]) {String Str = new String("www.runoob.com");System.out.print("返回值 :" );System.out.println( Str.toCharArray() );}
}
以上程序执行结果为:
返回值 :www.runoob.com
返回值是一个数组的形式。