2022-02-07

java编程思维训练

案例 数字加密

需求

需求:某系统的数字密码:比如1983,采用加密方式进行传输,规则如下:先得到每位数。然后每位数都加上5,在对10求余,最后对所有数字求余,得到一串新数。

public class Test6 {
    public static void main(String[] args) {
        //1.定义一个数组,存入需要加密的数据
        System.out.println("请您输入需要加密的数字个数!");
        Scanner sc = new Scanner(System.in);
        int length = sc.nextInt();
        int[] arr = new int[length];

        //2.录入需要加密的数字
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请您输入加密的第" + (i + 1) +"个数字");
            int number = sc.nextInt();
            arr[i] = number;
        }

        //3.打印数组内容看一下
        printArray(arr);

        //4.对数组中的数据进行加密
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (arr[i] + 5) % 10;
        }
        //5.对数组中加密的数据进行反转,才是最终加密的结果
        for (int i = 0, j = arr.length - 1; i < j; i++,j--) {
            //交换两个位置的值
            int temp = arr[j];
            arr[j] = arr[i];
            arr[i] = temp;
        }

        printArray(arr);
    }
    public static void printArray(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");
        }
        System.out.println("]");
    }
}
总结
  • 这里是一个加密程序,如果要解密,在本程序中只要在输入加密后的数字即可,因为加5在加5对10取余,相当于什么也没做;再比如这里不是加5而是加2,那么解密程序就是加8;
  • 注意类、对象、方法的合理使用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1乾卦 六龙行天之卦,包容万物之象 点睛:乾为天的极致,其本意是日出时时光气舒展,代表刚健,与柔顺对立。得乾卦者,...
    Antonio李星辰阅读 1,793评论 0 2
  • NuLink介绍(八) 11. 应用设想  11.1 电子病历共享  NuLink 网络能够构建一个强大的电子病历...
    Aaron阿酷阅读 147评论 0 0
  • NuLink介绍(七) 10. NLK的功能和价值  在 NuLink 网络里,NLK 有以下主要功能:  10....
    Aaron阿酷阅读 170评论 0 0
  • 影片开头,看着30多岁的吴邪,想到他经历了那么多,他身边的人也大多离开了他,大奎死了,老痒死了潘子死了,三叔,胖子...
    一天一个样阅读 250评论 0 0
  • 如何成为一个会学习的人 粂原圭太郎 188个想法 前言 >> 一旦身体开始下滑,即使想停也停不下来,这就是学习的自...
    悠思情趣阅读 339评论 0 0