不使用第三个变量的情况下,实现两个变量间的互换。
代码如下:
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函数手动输出错误信息。
将结果以错误信息形式输出,更加醒目。
转载于:https://www.cnblogs.com/xpfei/p/7450810.html
不使用第三个变量的情况下,实现两个变量间的互换。相关推荐
- 在不借助第三方变量情况下实现两个变量的交换(借助于异或运算)
下面首先来看一个问题. 假设存在两个int型变量a和b,那么如何实现两个变量值的交换呢. 通常我们的做法,也是最容易想到的做法就是通过定义一个第三方变量,然后借助于该变量来实现变量值的交换. 方法一( ...
- 没有第三个变量的前提下交换两个变量_多变量相关性分析(一个因变量与多个自变量)...
目录: 前言 偏相关或复相关 意义与用途 分析方法: 1. 样本相关系数矩阵.相关系数检验 2. 复相关分析 3. 决定系数 (RMSE的介绍) 小结 一.前言: 继上一篇文章,继续探讨相关性分析,这 ...
- 没有第三个变量的前提下交换两个变量_JavaScript 交换值的方法,你能想到几种?
早期之前,在 JS 中交换值,我们主要还是使用临时变量.ES6 之后,我们可以使用展开运算符号来交换变量,除了这两种方式,你还能想到哪些呢? 本文主要介绍 交换变量的 10 种方法,请过目 1. 使用 ...
- 如何在不引入第三个变量的情况下互换两个变量的值
如何在不引入第三个变量的情况下互换两个变量的值 算术运算 异或运算 解构 总结 例:x = 4:y = 5.如何在不引入第三个变量的情况下互换x与y的值? 算术运算 第一种方法是加法. x = x + ...
- C++在不使用任何算术运算符的情况下将两个数字相加(附完整源码)
C++在不使用任何算术运算符的情况下将两个数字相加 C++在不使用任何算术运算符的情况下将两个数字相加完整源码(定义,实现,main函数测试) C++在不使用任何算术运算符的情况下将两个数字相加完整源 ...
- hover在两种情况下的两种用法
:hover在鼠标移到链接上时添加的特殊样式. 提示: :hover 选择器器可用于所有元素,不仅是链接. 提示: :link 选择器设置了未访问过的页面链接样式, :visited 选择器设置访问过 ...
- 【C++】什么情况下会产生临时变量
临时变量是只在调用期间有效,具有常性的一种变量. 一.值传递 在返回值以值传递(传值和传指针)的形式返回时,会生成临时变量. int sum(int a,int b) {return a + b; } ...
- element-ui 按需加载情况下覆盖预置scss变量
element-ui的默认主题theme-chalk是通过scss预编译的,可以通过修改scss变量达到修改主题的目的. 在项目中改变 SCSS 变量 Element 的 theme-chalk 使用 ...
- Python中字符串使用单引号、双引号标识和三引号标识,什么是三引号?什么情况下用哪种标识?
一.三引号是指三个单引号或者三个双引号: 二.Python中字符串如果以单引号.双引号标识和三引号标识开头,则字符串结尾也必须是对应的标识,不能变更: 三.三者的异同: 1.三者都是字符串,大部分情况 ...
- php变量什么情况下加大括号{}
下面几个比较能说明原因的解释是: 表示{}里面的是一个变量 ,执行时按照变量来处理 在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了. 其实输出那块是等同于pr ...
最新文章
- 【面试练习题】存在序列:1,1/2,2/3,3/5,5/8,8/13...,求前10项的和
- REST WebServices学习
- main java game,playgame 一个JAVA编写的飞行小游戏,有基本完整的 框架,适合初学者参照学习 Other s 其他 238万源代码下载- www.pudn.com...
- 中位数及带权中位数问题(转)
- 使用UI创建vue项目并添加element ui和axios
- linux 防火墙 iptables的简单使用
- 加速失败远程计算机不能反应,2008 R2 SP1远程桌面如何开启GPU加速?不讨论虚拟机...
- pantum打印机驱动安装m6506_奔图PantumM6506NW驱动官方版
- 30多岁,你的存款有多少?
- 计算方法(一):误差
- python爬虫教程书籍-python入门书籍(爬虫方面)有哪些推荐?
- 虚拟光驱下载安装和使用,Windows系统如何直接打开iso文件
- 推荐:详解AI加速器(最终篇)
- 港科报道 | 8位校友入选香港25青年科创先锋人物
- Win10安装Eclipse教程
- 【异常】because it is a JDK dynamic proxy that implements
- 实验2:tga格式图像转换为yuv格式
- 推荐给大家12款好用的电脑软件
- Fix ‘Clearing orphaned inodes’ on Ubuntu
- JS实现键盘移动光标
热门文章
- Leetcode 刷题笔记(十七) —— 二叉树篇之公共祖先问题
- uestc--758--P酱的冒险旅途
- NYOJ--41--三个数从小到大排序
- 黑马程序员-JavaAPI-17天-4(Arrays)
- SQL Server数据表提示NOLOCK和READPAST
- iText 实践的目录(the content of iText in Action)
- 几种所见所得的在线编辑器
- matlab分析具体问题论文,matlab论文12010245327马文建.doc
- java计算一个日子距离_java计算两地距离(公里)
- java 表格添加监听_关于Oracle用java实时监听oracle对表的DML操作【技术贴】