某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的。
加密規(guī)則是每位數(shù)字都加上5,然后再用除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。
編寫一個程序,用于接收一個四位的整數(shù),并且打印輸出加密后的數(shù)。
這道題原本沒有要求必須使用數(shù)組,所以我最先是使用一種翻譯題目的方法完成這道題的,代碼如下:
public static void main(String[] args) { System.out.做完以后我記起我剛剛學的數(shù)組,想嘗試一下用數(shù)組的方式去完成者道題,嘗試過多次以后實現(xiàn),代碼如下:
public static void main(String[] args) {System.out.println("請輸入一個4位數(shù)字:"); Scanner sc=new Scanner(System.in); int n=0; int a=0; while(true){ n=sc.nextInt(); if(n<999||n>10000){ System.out.println("你輸入的數(shù)字不合法!請重新輸入"); }else{break;} } int[] m=new int[4]; for(int i=0;i<m.length;i++){ m[i]=n%10; n/=10; m[i]+=5; m[i]%=10; System.out.print(m[i]); } }完成之后我發(fā)現(xiàn)這道題用數(shù)組完成核心的代碼居然只有一個for循環(huán),而且題目中的4位數(shù)這個條件可以輕易的改為5位6位......而不需要過多的更改代碼。
新聞熱點
疑難解答