您的位置:首页 > 其它

编译运行实现两个变量值交换的方法

2013-09-27 16:12 531 查看
1.利用异或运行的方法

在上面已经对数据进行定义的前提下,可以通过代码
A = A ^ B;// 执行变量互换
B = B ^ A;
A = A ^ B;
System.out.println("A=" + A + "\tB=" + B);
用异或来实现A,B两数值的交换;
从输入数值到交换数值,详细代码如下:
package com.lixiyu;
import java.util.Scanner;
public class VariableExchange {
public static void main(String[] args){
Scanner A=new Scanner(System.in);
System.out.println("请输入变量A的值:");
Long line=A.nextLong();
Scanner B=new Scanner(System.in);
System.out.println("请输入变量B的值:");
Long line1=B.nextLong();
System.out.println("A="+line);
System.out.println("B="+line1);
System.out.println("执行数值转换");
line=line^line1;
line1=line1^line;
line=line^line1;
System.out.println("A="+line+"\tB="+line1);
}
}
注意这种方法适合数值型,用Long line=A.nextLong()而不是String

2.通过定义一个第三方变量进行交换的方法
利用赋值的方法原理实现
比如要实现A、B互换:定义一个变量C,C=A;A=B;B=C;
package com.lixiyu;
import java.util.Scanner;
public class VariableExchange {
public static void main(String[] args){
String line2;
Scanner A=new Scanner(System.in);
System.out.println("请输入变量A的值:");
String line=A.nextLine();
Scanner B=new Scanner(System.in);
System.out.println("请输入变量B的值:");
String line1=B.nextLine();
System.out.println("A="+line);
System.out.println("B="+line1);
System.out.println("执行转换");
line2=line;
line=line1;
line1=line2;
System.out.println("A="+line+"\tB="+line1);
}
}
编译运行成功(这种方法不仅适合Long型也适合其他型,如String等)
还有其它方法以后碰到再补充
本文出自 “好记性,不如烂笔头” 博客,请务必保留此出处http://lixiyu.blog.51cto.com/4136883/1302809
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: