黑马程序员技术交流社区
标题:
哪位大神帮我看下有没有什么简单方法做这个?谢谢了
[打印本页]
作者:
/aiq玩完?/aiq
时间:
2014-7-24 11:34
标题:
哪位大神帮我看下有没有什么简单方法做这个?谢谢了
/*
数组习题:
数据加密:
某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,
加密规则如下:
首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,
最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。
*/
import java.util.*;
class Test2
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);//调用系统输入方法。
System.out.println("请输入1-7位的数字密码:");
int num=input.nextInt();//接收输入的数字
int[] arr=new int[8];//因为输入的数字最多为7位,所以定义一个长度为8的数组
int index=0;//定义数组角标index,初始化值为0
while(num!=0)//因为不知道要循环的次数,所以用while循环
{
arr[index]=num%10;//这是对数组的元素进行倒序方法。
num/=10;
index++;
}
System.out.println(index);//打印出数组长度。
for (int i=0;i<index;i++)//遍历数组
{
arr[i]=(arr[i]+5)%10;//将每个元素加5后再除以10的余数定义i为新的元素
System.out.print(arr[i]);
}
System.out.println();
int temp=0; //调换第一个元素和最后一个元素。
temp=arr[0]; //得到一个新的数组。
arr[0]=arr[index-1];
arr[index-1]=temp;
for (int i=0;i<index;i++) //最后遍历最终数组
{
System.out.print(arr[i]);
}
}
}
作者:
从未有过的晴天
时间:
2014-7-24 11:54
两个数交换可以用三元表达式,虽然我忘了:lol
作者:
/aiq玩完?/aiq
时间:
2014-7-24 12:51
从未有过的晴天 发表于 2014-7-24 11:54
两个数交换可以用三元表达式,虽然我忘了
:lol具体是哪一步可以用三元表达式?美女,你说的三元表达式是指:true?a:b这样的格式吗?
作者:
蔡爽
时间:
2014-7-24 13:04
Scanner input=new Scanner(System.in);//调用系统输入方法。
System.out.println("请输入1-7位的数字密码:");
int num=input.nextInt();//接收输入的数字
改为:int num;
scanf("%d",&num);//输入密码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2