不使用第三个变量的情况下,实现两个变量间的互换。
2017-05-12 10:14
567 查看
代码如下:
主要是通过异或实现,类比于通过异或符号实现简单的加密功能
第一行的A=A^B 即是将A^B后的一串编码赋值给A以便下面实现A与B得互换;
B=B^A 通过此行代码实现将A得原有值赋给B
A=A^B 将B得原有值赋给A
至此A与B之间已实现互换。
代码中的最后一行System.err.println(new String(array));是通过err函数手动输出错误信息。
将结果以错误信息形式输出,更加醒目。
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+"\tB="+B); System.out.println("-----:实现变量互换:-----"); A=A^B; B=B^A; A=A^B; System.out.println("A="+A+"\tB="+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函数手动输出错误信息。
将结果以错误信息形式输出,更加醒目。
相关文章推荐
- 有两个int型变量a,b,在不使用第三个变量的情况下实现a,b互换
- C/C++:在不使用第三个变量的情况下实现两个变量的交换
- 不使用第三个值,实现两个变量的互换
- [Java] 不使用第三个变量实现两个整数类型变量互换(异或运算符)
- Java中使用异或语句实现两个变量的互换
- 实现两个变量的互换(不借助第三个变量)
- 实现两个变量的互换(不借助第三个变量)
- 05-不借用第三个变量实现两个变量值互换(运算符)
- 不使用第三个变量的情况下交换两个变量中存储的值(Java)
- Java基础知识强化05:不借助第三个变量实现两个变量互换
- 300.7实现两个变量的互换,不借助第三个变量
- java 实现两个变量的互换(不借助第三个变量,即中间变量、临时变量)
- 不使用第三个变量,实现交换两个变量的值
- 05-不借用第三个变量实现两个变量值互换(运算符)
- 不借助第三个变量,实现两个整数互换值
- 使用异或运算实现中两个变量互换的方法
- 不借助第三个变量实现两个变量的互换
- JS——交换两个变量(不使用第三个变量的情况下)
- 交换两个变量的值,不使用第三个变量的方法及实现
- 交换两个变量的值,要求不使用第三个变量实现