77 加密一个值 +5 取余数 倒序
优化后 获得一个加密后值
package com.fqs.test; import java.util.Scanner; public class hello { public static void main(String[] args) { //加密传输 1983 //每位上加5 (1+5=6)%10取余 9+5=14 8+5=13 3+5=8 //对10取余 //颠倒顺序输出 //求num的各个位数并输出 int num=1983; int []arr2=getArr(num); int []arr3=getAdd(arr2); int []arr4=getYu(arr3); int[]arr5=getDao(arr4); int[]arr6=getDao(arr5); int numOk2=getNum(arr6); System.out.println("加密后的值:"+numOk2); }//主方法结束 //获取每个位上的值放到数组中 public static int[] getArr (int num) { int num2=num; int count=0; while(num!=0){ int ge=num%10; num=num/10; count++; } int []arr=new int[count]; int count2=0; while (num2!=0){ int ge2=num2%10; arr[count2]=ge2; count2++; num2=num2/10; } return arr; } //给每个位上的值 加5 public static int[] getAdd(int []arr2) { for (int i = 0; i < arr2.length ; i++) { arr2[i]=arr2[i]+5; } return arr2; } //给10取余数 public static int[] getYu(int []arr3) { for (int i = 0; i < arr3.length; i++) { arr3[i]=arr3[i]%10; } return arr3; } //倒序输出 气死了啊 解恨只能再倒序一次 public static int[] getDao(int []arr4) { int temp=arr4[0]; int len=arr4.length; for (int i = 0,j=len-1; i < len/2; i++,j--) { temp=arr4[i]; arr4[i]=arr4[j]; arr4[j]=temp; } return arr4; } //二次倒序 public static int[] getDao2(int []arr5) { int temp=arr5[0]; int len=arr5.length; for (int i = 0,j=len-1; i < len/2; i++,j--) { temp=arr5[i]; arr5[i]=arr5[j]; arr5[j]=temp; } return arr5; } //求反过来的值 public static int getNum(int[]arr6) { int numOk=0; for (int i = 0; i < arr6.length; i++) { numOk=numOk*10+arr6[i]; } return numOk; } }//类结束
正确的是二次倒序
package com.fqs.test; import java.util.Scanner; public class hello { public static void main(String[] args) { //加密传输 1983 //每位上加5 (1+5=6)%10取余 9+5=14 8+5=13 3+5=8 //对10取余 //颠倒顺序输出 //求num的各个位数并输出 int num=1983; int []arr2=getArr(num); int []arr3=getAdd(arr2); int []arr4=getYu(arr3); int[]arr5=getDao(arr4); int[]arr6=getDao(arr5); for (int i = 0; i < arr6.length; i++) { System.out.println("元素:"+arr6[i]); } }//主方法结束 //获取每个位上的值放到数组中 public static int[] getArr (int num) { int num2=num; int count=0; while(num!=0){ int ge=num%10; num=num/10; count++; } int []arr=new int[count]; int count2=0; while (num2!=0){ int ge2=num2%10; arr[count2]=ge2; count2++; num2=num2/10; } return arr; } //给每个位上的值 加5 public static int[] getAdd(int []arr2) { for (int i = 0; i < arr2.length ; i++) { arr2[i]=arr2[i]+5; } return arr2; } //给10取余数 public static int[] getYu(int []arr3) { for (int i = 0; i < arr3.length; i++) { arr3[i]=arr3[i]%10; } return arr3; } //倒序输出 气死了啊 解恨只能再倒序一次 public static int[] getDao(int []arr4) { int temp=arr4[0]; int len=arr4.length; for (int i = 0,j=len-1; i < len/2; i++,j--) { temp=arr4[i]; arr4[i]=arr4[j]; arr4[j]=temp; } return arr4; } //二次倒序 public static int[] getDao2(int []arr5) { int temp=arr5[0]; int len=arr5.length; for (int i = 0,j=len-1; i < len/2; i++,j--) { temp=arr5[i]; arr5[i]=arr5[j]; arr5[j]=temp; } return arr5; } }//类结束
错误的 倒序需要2次
package com.fqs.test; import java.util.Scanner; public class hello { public static void main(String[] args) { //加密传输 1983 //每位上加5 (1+5=6)%10取余 9+5=14 8+5=13 3+5=8 //对10取余 //颠倒顺序输出 //求num的各个位数并输出 int num=1983; int []arr2=getArr(num); int []arr3=getAdd(arr2); int []arr4=getYu(arr3); for (int i = 0; i < arr4.length; i++) { System.out.println("元素:"+arr4[i]); } int[]arr5=getDao(arr4); for (int i = 0; i < arr5.length; i++) { System.out.println("元素:"+arr5[i]); } }//主方法结束 //获取每个位上的值放到数组中 public static int[] getArr (int num) { int num2=num; int count=0; while(num!=0){ int ge=num%10; num=num/10; count++; } int []arr=new int[count]; int count2=0; while (num2!=0){ int ge2=num2%10; arr[count2]=ge2; count2++; num2=num2/10; } return arr; } //给每个位上的值 加5 public static int[] getAdd(int []arr2) { for (int i = 0; i < arr2.length ; i++) { arr2[i]=arr2[i]+5; } return arr2; } //给10取余数 public static int[] getYu(int []arr3) { for (int i = 0; i < arr3.length; i++) { arr3[i]=arr3[i]%10; } return arr3; } //倒序输出 public static int[] getDao(int []arr4) { int temp=arr4[0]; int len=arr4.length; for (int i = 0,j=len-1; i < len/2; i++,j--) { temp=arr4[i]; arr4[i]=arr4[j]; arr4[j]=temp; System.out.println("倒序后,第"+i+"位的值"+arr4[i]); } return arr4; } }//类结束
浙公网安备 33010602011771号