아스키코드와 암호화, 입력메서드

김지원·2022년 5월 22일
0

Java

목록 보기
5/38

암호화 : Encryption

int data = 'C';
char data2 = 65;
		System.out.println(data);    //67
		System.out.println(data2);   //A
  • 아스키코드를 이용하기 때문에 C를 입력하면 67 출력, 65 입력시 A가 출력이 된다.

문자는 컴퓨터가 숫자로 기억을 한다.
-> 특정값으로 연산을 해주면 증가 또는 감소가 발생하게 된다.
-> 그 증가 또는 감소된 숫자를 문자로 바꿔주게 되면 암호화가 된다.

< example >

String pw = null;
		System.out.println("PW : ");          
		pw = new Scanner(System.in).next();
		System.out.println("암호화 된 PW : ");
		for(int i =0; i<pw.length(); i++) {
			System.out.println((char)(pw.charAt(i)-10));
            
			 //A1B2C3 입력
			//7'8(9) 암호화 되어 출력
		
< 풀이 >                         
문자와 정수의 연산은 정수가 된다. 그 문자가 자동으로 형변환이 된다.
-10이 된 정수값을 다시 문자로 형변환해주니깐 -10만큼의 암호화가 된 문자가 출력이 된다.

문자는 컴퓨터가 숫자로 기억하기 때문에 숫자를 이용해서 연산을 하고
그 연산된 숫자를 문자로 바꾸면 암호화가 된다!

입력

입력상태 : 커서가 깜빡이고 있는 상태.

  • 입력하기 전에 무엇을 입력해야 할지 사용자에게 알려줘야 함.
    (즉 출력이 먼저다.)

  • 출력함수와 입력함수는 개발자를 위한 도구.
    변수의 값이 잘들어갔는지 개발자가 확인하기 위해 존재.

next( )와 nextline( )의 차이점.

nextLine( ) : 공백까지도 한 줄로 판단해서 한 줄로 그대로 입력받음
next( ) : 공백을 구분점으로 판단해서 각각의 문자열을 입력받음.

< example >

  • 문자열 입력을 입력해보자.
		String name = "";
		String lastName= "";
		Scanner sc = new Scanner(System.in);
		System.out.println("이름이 뭐니?"); // 지원 김
		name = sc.next();                 // 지원
		lastName = sc.next();             // 김
        -> next() 공백이 포함되어 있어 두번의 출력이 필요하다. 
       
		name = sc.nextLine();             // 지원 김
        -> nextLine() 공백까지도 한 줄로 판단하기 때문에 그대로 출력이 된다. 
        
		System.out.println(name);
		System.out.println(lastName);

sc.next(); 의 문자열 값이 name에 담겼다.

  • Scanner이라는 클래스 안에 메서드가 있음.
  • 이름뒤에 소괄호있으면 메서드임
  • 마침표 : 하위연산자 => A.b : A안에 b

nextInt()

< example >

		int num1 = 0, num2 = 0;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("첫번째 정수 : ");
		num1 = sc.nextInt();
		//이 통째를 내가 입력한 정수 값이라고 생각!
		//sc.nextInt(); 이렇게 되면 저장공간에 담기진 않는다. 
		//그래서 변수를 생성한다. 
		System.out.println("두번째 정수 : ");
		num2 = sc.nextInt();
		
		System.out.println("첫번째 정수 : " + num1); //첫번째 정수 : 3
		System.out.println("두번째 정수 : " + num2); //두번째 정수 : 4
		
		System.out.println(num1 + num2);  //7

nextLine()이 Enter를 먹는 경우.
< example >

	Scanner sc = new Scanner(System.in);
	System.out.println("나이를 입력하세요");
	sc.nextInt();
	System.out.println("이름을 입력하세요");
	sc.nextLine(); //엔터를 위한 nextLine
   
	//nextLine이 엔터를 먹어서 이름을 입력을 하려면 한번더 사용해야한다.
    
    sc.nextLine(); // 비로소 이름을 입력할 수 있는 입력상태가 된다. 

		



0개의 댓글

관련 채용 정보