题目:
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的, 加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字, 再将第一位和第四位交换,第二位和第三位交换。 1357--->2086
代码实现:
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//加入判断,如果不是四位数重新输入
System.out.println("请输入一个四位数:");
int number = sc.nextInt();
//分别获取个位、十位、百位、千位
int geWei = number % 10;
int shiWei = number / 10 % 10;
int baiWei = number / 100 % 10;
int qianWei = number / 1000 % 10;
//每位数字都加上5
geWei = geWei + 5;
shiWei = shiWei + 5;
baiWei = baiWei + 5;
qianWei = qianWei + 5;
//用和除以10的余数代替该数字
geWei = geWei%10;
shiWei = shiWei%10;
baiWei = baiWei%10;
qianWei = qianWei%10;
//将第一位和第四位交换,第二位和第三位交换
//怎么交换?运用第三方变量帮助我们实现两个数交换
int temp1 = geWei;
geWei = qianWei;
qianWei = temp1;
int temp2 = shiWei;
shiWei = baiWei;
baiWei = temp2;
int result = qianWei*1000+baiWei*100+shiWei*10+geWei;
System.out.println("加密后的数字为:"+result);
}
}
运行截图: