• for-each用法误区(不能改变数组元素值)


    代码例程:

    /**
     * 数据加密传输
     */
    import java.util.Scanner;

    public class secretPass {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            int num = 0;
            while (true) {
                System.out.println("请输入四位正整数:");
                num = input.nextInt();
                if (num > 999 && num < 10000) {
                    System.out.println("输入数据有效!");
                    break;
                } else {
                    System.out.println("输入数据无效,请重新输入!");
                }
            }
            System.out.println("加密前的数据是:" + num);
            int[] arrs = new int[4];
            arrs[0] = num % 10; // 取个位
            arrs[1] = num / 10 % 10; // 取十位
            arrs[2] = num / 100 % 10; // 取百位
            arrs[3] = num / 1000; // 取千位
            // 不能使用for-each语句改变arrs数组的元素
            // for-each只能用来遍历打印数组元素

            
            for (int n : arrs) {
                n = (n + 5) % 10;
                System.out.print(n+" ");
            }
            
            /*
            for (int i = 0; i < arrs.length; i++) {
                arrs[i] = (arrs[i] + 5) % 10;
            }
            */

            /*
            for (int i = 0; i < arrs.length; i++) {
                System.out.print(arrs[i] + " ");
            }
            */

            int tmp1 = arrs[0];
            int tmp2 = arrs[1];
            int tmp3 = arrs[2];
            int tmp4 = arrs[3];
            arrs[0] = tmp4;
            arrs[1] = tmp3;
            arrs[2] = tmp2;
            arrs[3] = tmp1;
            System.out.print("加密后的数据是:");
            for (int i : arrs) {
                System.out.print(i);
            }
        }
    }
    输出结果是:

    请输入四位正整数:
    1234
    输入数据有效!
    加密前的数据是:1234
    9 8 7 6 加密后的数据是:1234

    修改后的例程:

    /**
     * 数据加密传输
     */
    import java.util.Scanner;

    public class secretPass {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            int num = 0;
            while (true) {
                System.out.println("请输入四位正整数:");
                num = input.nextInt();
                if (num > 999 && num < 10000) {
                    System.out.println("输入数据有效!");
                    break;
                } else {
                    System.out.println("输入数据无效,请重新输入!");
                }
            }
            System.out.println("加密前的数据是:" + num);
            int[] arrs = new int[4];
            arrs[0] = num % 10; // 取个位
            arrs[1] = num / 10 % 10; // 取十位
            arrs[2] = num / 100 % 10; // 取百位
            arrs[3] = num / 1000; // 取千位
            // 不能使用for-each语句改变arrs数组的元素
            // for-each只能用来遍历打印数组元素

            /*
            for (int n : arrs) {
                n = (n + 5) % 10;
                System.out.print(n+" ");
            }
            */

        
            for (int i = 0; i < arrs.length; i++) {
                arrs[i] = (arrs[i] + 5) % 10;
            }
        
            /*
            for (int i = 0; i < arrs.length; i++) {
                System.out.print(arrs[i] + " ");
            }
            */

            int tmp1 = arrs[0];
            int tmp2 = arrs[1];
            int tmp3 = arrs[2];
            int tmp4 = arrs[3];
            arrs[0] = tmp4;
            arrs[1] = tmp3;
            arrs[2] = tmp2;
            arrs[3] = tmp1;
            System.out.print("加密后的数据是:");
            for (int i : arrs) {
                System.out.print(i);
            }
        }
    }

    输出结果为:

    请输入四位正整数:
    1234
    输入数据有效!
    加密前的数据是:1234
    加密后的数据是:6789

  • 相关阅读:
    (二)微信开发工具
    (一)微信小程序环境搭建
    mysql安装--window版
    (六--二)scrapy框架之持久化操作
    windows安装redis
    (六--一)scrapy框架简介和基础应用
    (五)selenuim和phantonJs处理网页动态加载数据的爬取
    (四)requests模块的cookies和代理操作
    (三)三种数据解析方式学习
    (二)requests模块
  • 原文地址:https://www.cnblogs.com/archermeng/p/7537630.html
Copyright © 2020-2023  润新知