이제 회사에서 공중전화를 사용하여 데이터를 전송한다고 가정합니다. 데이터는 4자리 정수이며 전송 프로세스 중에 암호화됩니다.
암호화 규칙은 각 숫자에 5를 더한 후 10으로 나눈 나머지 숫자로 대체한 다음 첫 번째와 네 번째 숫자, 두 번째와 세 번째 숫자를 교환하는 것입니다.
네 자리 정수를 받아 암호화된 숫자를 출력하는 프로그램을 작성하세요.
이 질문은 원래 배열을 사용할 필요가 없었으므로 먼저 질문을 번역하는 방법을 사용하여 이 질문을 완성했습니다. 주요 코드는 다음과 같습니다.
public static void main(String[] args) { System.out.println("4자리 숫자를 입력하세요:") Scanner sc=new Scanner(System.in); while (true){ n=sc.nextInt(); if(n<999||n>10000){ System.out.println("입력하신 숫자는 올바르지 않습니다. 다시 입력해 주세요."); }else{ break; } } int gewei=n%10; int baiwei+=10; ; baiwei+=5; n+=5; int a=gewei%10; c=baiwei%10; int d=n%10; int out=d*1000+c*100+b*10+a; System.out.println("암호화된 숫자는 "+out);}완료 후에는 배열을 사용하여 이 문제를 해결해 보겠습니다. 여러 번 시도한 후 코드는 다음과 같습니다.
public static void main(String[] args) {System.out.println("4자리 숫자를 입력하세요:"); Scanner sc=new Scanner(System.in); while (true){ n=sc.nextInt(); if(n<999||n>10000){ System.out.println("입력하신 숫자는 올바르지 않습니다. 다시 입력해 주세요."); }else{break;} } int[] m=new int[4]; for(int i=0;i<m.length;i++){ m[i]=n%10; i]+=5; m[i]%=10; System.out.print(m[i]) } }이 함수를 완성하기 위해 배열을 사용하기 위한 핵심 코드는 for 루프뿐이며, 문제의 4자리 조건은 큰 코드 변경 없이 쉽게 5자리 또는 6자리 이상으로 변경될 수 있습니다.
나는 이 글에서 설명하는 예제들이 자바 배열 학습에 확실한 참고 가치를 가져다 줄 것이라고 믿습니다.