[ java ] JavaFestival10 - Question1 - 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 한다. > java

본문 바로가기
사이트 내 전체검색

java

[ java ] JavaFestival10 - Question1 - 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 한다.

페이지 정보

작성자 웹지기 댓글 0건 조회 2,301회 작성일 21-01-07 00:09

본문

JavaFestival10

 - Question1 - 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 한다.

 

A를 3만큼 밀면 D가 되고 z를 1만큼 밀면 a가 됩니다. 공백은 수정하지

않는다.


보낼 문자열 s와 얼마나 밀지 알려주는 n을 입력받아 암호문을 만드는

ceasar 함수를 완성해 보시오.


“a B z”, 4를 입력받았다면 “e F d”를 리턴한다.


public class Question1 {

    public static void main(String[] args) {

        //어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로

        //바꾸는 암호화 방식 - 시저암호

        //A를 3만큼 밀면 D가 되고 Z를 1만큼 밀면 A 가 됩니다. 공백은 미수정

        //보낼 문자열 s와 얼마나 밀지 알려주는 n을 입력받아 암호문을 만드는

        //ceasar함수를 완성

        //"a B z", 4를 입력받았다면 "e F d" 를 리턴한다.

        //Ceasar c = new Ceasar("a B z", 4);

        

        System.out.println(caesar("a B z", 4));

    }


    private static String caesar(String string, int num) {

        String result = "";

        

        for(int i=0; i<string.length(); i++) {

            char a = string.charAt(i);

            if(a>= 97 && a <= 122) { // 소문자 검사

                if(a+num > 122) {

                    result += (char)(a+num-26);

                } else {

                    result += (char)(a+num);

                }

            } else if(a >= 65 && a <= 90) { // 대문자 검사

                if(a+num > 90) {

                    result += (char)(a+num-26);

                } else {

                    result += (char)(a+num);

                }

            } else {

                result += (char)a;

            }

        }

        return result;

    }

}

 

결과

e F d

 

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 113건 1 페이지
  • 113 [ java ] Java Code Convention (자바 코드 규칙 - 네이밍 - 패키지명, 클래스명, …
  • Java Code Convention (자바 코드 규칙 - 네이밍 - 패키지명, 클래스명, 변수명) - 가독성 - 다른 개발자도 소스코드를 처음 보더라도 더 빠르고 완변하게 이해할 수 있게 코드규칙을 지키자. - 다른 소스코드와 잘 어울리는 패키지 1. 이름(Naming) 1-1. 식별자에는 영문(A, B..., a, b ...) / 숫자(1,2,3...) / 언더스코어( _ )만 허용 - 변수명, 클래스명, 메소드명 등에는 영어와 숫자만 사용 - 상수에는 단어 사이의 구분을 위...
  • 웹지기 05-26 4292 0 0 댓글 0
  • 112 [ java ] 주석 처리
  • 한줄 주석 // 여러줄 한번에 주석 /* 주석내용 */
  • 웹지기 01-15 5604 0 0 댓글 0
  • 111 [ java ] JavaFestival13 - Question6 - 합병 - 두개배열 병합정렬
  • JavaFestival13 - Question6 - 두개의 배열 A와B를 합병 후 오름차순으로 정렬하여 반환하는 mergeArray메소드를 완성하시오. import java.util.Arrays; public class Question6 { public static void main(String[] args) { int[] A = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 }; int[] B = { 2, ...
  • 웹지기 01-07 6884 0 0 댓글 0
  • 110 [ java ] JavaFestival13 - Question5 - 하샤드 수
  • JavaFestival13 - Question5 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수 입니다. isHarshad메소드는 양의 정수 n을 매개변수로 입력받습니다. 이 n이 하샤드수인지 아닌지 판단하는 함수를 완성하세요. 예를들어 n이 10, 12, 18이면 True를 리턴 11, 13이면 False를 리턴하면 됩니다. publi...
  • 웹지기 01-07 6025 0 0 댓글 0
  • 109 [ java ] JavaFestival13 - Question4 - 1보다 큰 정수(N)를 입력하여 N!값을…
  • JavaFestival13 - Question4 - 1보다 큰 정수(N)를 입력하여 N!값을 구하시오. * 팩토리얼이란 N의 수보다 작거나 같은 모든 양의 정수의 곱 ex) 3! = 1 x 2 x 3 =&gt; 6 import java.util.Scanner; public class Question4 { public static void main(String[] args) { Scanner sc = new Scanner(Syst...
  • 웹지기 01-07 6856 0 0 댓글 0
  • 108 [ java ] JavaFestival13 - Question3 - 그림과 같이 대시(‘_’)문자로 구성된 …
  • JavaFestival13 - Question3 -그림과 같이 대시(‘_’)문자로 구성된 형태의 숫자를 주어진 숫자와 같이 출력하고 싶을때 사용되게 되는 대시의 개수를 출력하는 프로그램을 작성하라 import java.util.Scanner; public class Question3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); S...
  • 웹지기 01-07 7453 0 0 댓글 0
  • 107 [ java ] JavaFestival13 - Question2 - 가운데 글자 구하기
  • 가운데 글자 구하기 getMiddle메소드는 하나의 단어를 입력 받습니다. 단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요. 단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다. 예를들어 입력받은 단어가 power이라면 w를 반환하면 되고, 입력받은 단어가 test라면 es를 반환하면 됩니다. public class Question2 { public static void main(String[] args) { ...
  • 웹지기 01-07 5611 0 0 댓글 0
  • 106 [ java ] JavaFestival13 - Question1 - 다음과 같은 프로그램을 작성하시오. N…
  • JavaFestival13 - Question1 - 다음과 같은 프로그램을 작성하시오. N과 X를 입력 받는다. N개의 정수를 입력 받는다. N개의 숫자 중 X보다 작은 수만 출력 한다. import java.util.Scanner; public class Question1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ...
  • 웹지기 01-07 3627 0 0 댓글 0
  • 104 [ java ] JavaFestival12 - Question2 - 일한 시간을 입력받아 총 임금을 계산하는…
  • JavaFestival10 - Question1 - 일한 시간을 입력받아 총 임금을 계산하는 시급계산기입니다. 시급은 5000원이며 8시간보다 초과 근무한 시간에 대해 1.5배의 시급이 책정됩니다. import java.util.Scanner; public class Question2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); ...
  • 웹지기 01-07 4028 0 0 댓글 0
  • 103 [ java ] JavaFestival12 - Question1 - 현재몸무게와 목표몸무게를 각각 입력 받고…
  • JavaFestival12 - Question1 - 현재몸무게와 목표몸무게를 각각 입력 받고 주차별 감량몸무게를 입력 받아 목표 달성 시 축하메세지를 띄우는 프로그램을 구현하시오. import java.util.Scanner; public class Question1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out...
  • 웹지기 01-07 3819 0 0 댓글 0
  • 102 [ java ] JavaFestival11 - Question3 - 1,2,4 세 개의 숫자만 쓰는 124나…
  • 1,2,4 세 개의 숫자만 쓰는 124나라가 있습니다. 124나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법의 1 → 1 10진법의 2 → 2 10진법의 3 → 4 10진법의 4 → 11 10진법의 5 → 12 10진법의 6 → 14 change124() 메소드에 십진수 숫자를 넣으면 124 나라 숫자로 바꾸는 프로그램을 작성하시오. public class Question3 { public static void main(String[] args...
  • 웹지기 01-07 2514 0 0 댓글 0
  • 101 [ java ] JavaFestival11 - Question2 - 연속된 자연수의 합으로 어떤 숫자를 표현…
  • 연속된 자연수의 합으로 어떤 숫자를 표현하는 방법이 여러 가지가 있다. 예를 들어, 15를 표현하는 방법은 (1+2+3+4+5) (4+5+6) (7+8) (15) 로 총 4가지가 존재한다. 숫자를 입력받아 연속된 수로 표현하는 방법을 반환하는 expressions 함수를 만들어 보시오. 예를 들어 15가 입력된다면 4를 반환해 주면 된다. question2.java public class Question2 { public static void ...
  • 웹지기 01-07 2632 0 0 댓글 0
  • 100 [ java ] JavaFestival11 - Question1 - 1937년 Collatz란 사람에 의해 …
  • JavaFestival11 - Question1 - 1937년 Collatz란 사람에 의해 제기된 이 추측은 입력된 수가 짝수라면 2로 나누고, 홀수라면 3을 곱하고 1을 더한 다음 결과로 나온 수에 같은 작업을 1이 될 때까지 반복할 경우, 모든 수가 1이 됩니다. 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. collatzNumber() 메소드를 만들어 입력된 수가 몇 번 만에 1이 되는지 반환해 주세요. 단, 500번을 ...
  • 웹지기 01-07 1902 0 0 댓글 0
  • 열람중 [ java ] JavaFestival10 - Question1 - 어떤 문장의 각 알파벳을 일정한 거리만큼…
  • JavaFestival10 - Question1 - 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 한다. A를 3만큼 밀면 D가 되고 z를 1만큼 밀면 a가 됩니다. 공백은 수정하지 않는다. 보낼 문자열 s와 얼마나 밀지 알려주는 n을 입력받아 암호문을 만드는 ceasar 함수를 완성해 보시오. “a B z”, 4를 입력받았다면 “e F d”를 리턴한다. public class Question1 { ...
  • 웹지기 01-07 2302 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
421
어제
23,944
최대
43,745
전체
10,605,980

그누보드5
Copyright © funyphp.com. All rights reserved.