zoukankan      html  css  js  c++  java
  • 不使用第三个变量的情况下,实现两个变量间的互换。

    代码如下:

    package test;
    
    import java.util.Scanner;
    /*
     *@author xpengfei
     *@version 
     *创建时间:May 10, 2017  5:21:06 PM
     */
    
    /*
     *类信息:不借助第三个变量,实现两个变量之间的互换
     */
    public class ch_17 {
        public static void main(String[] args) {
            Scanner scan=new Scanner(System.in);
            System.out.println("请输入变量A的值:");
            long A=scan.nextLong();
            System.out.println("请输入B的值:");
            long B=scan.nextLong();
            System.out.println("A="+A+"	B="+B);
            System.out.println("-----:实现变量互换:-----");
            A=A^B;
            B=B^A;
            A=A^B;
            System.out.println("A="+A+"	B="+B);
        }
    }
    

    主要是通过异或实现,类比于通过异或符号实现简单的加密功能
    第一行的A=A^B 即是将A^B后的一串编码赋值给A以便下面实现A与B得互换;
    B=B^A 通过此行代码实现将A得原有值赋给B
    A=A^B 将B得原有值赋给A
    至此A与B之间已实现互换。

    Scanner scan=new Scanner(System.in);
            System.out.println("请输入一个英文字符串或解密字符串:");
            String passwd=scan.nextLine();
            char[]array=passwd.toCharArray();
            for(int i=0;i<array.length;i++){
                array[i]=(char)(array[i]^20000);
            }
            System.out.println("加密或解密后的结果如下:");
            System.err.println(new String(array));

    代码中的最后一行System.err.println(new String(array));是通过err函数手动输出错误信息。
    将结果以错误信息形式输出,更加醒目。

  • 相关阅读:
    二、网络基础
    Ado.net
    LINQ
    C#[抽象类,接口]
    自定义类库,并引用
    c#重点[封装,继承,多肽]
    c#重点[集合类型]异常,数组,集合ArrayList,List<>,hashTable,hashtable泛型(Dictionary)
    c#重点[数据类型,构造方法,变量,变量,运算符,装箱,拆箱]
    .net reflector激活
    sqlsever备份,还原和导入导出方法
  • 原文地址:https://www.cnblogs.com/xpfei/p/7450810.html
Copyright © 2011-2022 走看看