java에서 수조를 사용하여 아날로그 암호화하는 방법
암호화 규칙은 모든 숫자에 5를 더한 다음에 10을 제외한 나머지 숫자로 이 숫자를 대체하고 첫 번째와 네 번째를 교환하고 두 번째와 세 번째를 교환한다.
네 자리의 정수를 수신하고 출력이 암호화된 수를 출력하는 프로그램을 만듭니다.
이 문제는 원래 반드시 수조를 사용해야 한다는 요구가 없기 때문에 우리는 먼저 문제를 번역하는 방법으로 이 문제를 완성했다. 주요 코드는 다음과 같다.
public static void main(String[] args) {
System.out.println(" 4 :");
Scanner sc=new Scanner(System.in);
int n=0;
int i=0;
while(true){
n=sc.nextInt();
if(n<999||n>10000){
System.out.println(" ! ");
}else{
break;
}
}
int gewei=n%10;
n/=10;
int shiwei=n%10;
n/=10;
int baiwei=n%10;
n/=10;
gewei+=5;
shiwei+=5;
baiwei+=5;
n+=5;
int a=gewei%10;
int b=shiwei%10;
int 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);
int n=0;
int a=0;
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;
n/=10;
m[i]+=5;
m[i]%=10;
System.out.print(m[i]);
}
}
이 기능의 핵심을 수조로 완성하는 코드는 for순환이 하나뿐이며, 제목의 4자리라는 조건은 5자리 6자리 이상으로 쉽게 바꿀 수 있으며, 코드를 너무 많이 변경할 필요가 없다.본고에서 기술한 예시가 자바 학습을 타격하는 수조에 대해 일정한 참고 가치를 가져다 줄 것이라고 믿는다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.