[CodeUp] 1028~1038

2
post-thumbnail

CodeUp Algorithm 1028 ~ 1037


정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295이다.)

참고
-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는
int 형으로 변수를 선언하면 된다.(int로 선언하고 % d로 받고 출력)

하지만 이 범위를 넘어가는 정수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.

실수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 실수의 범위는 +- 1.710-308 ~ +- 1.710308이다.) 308이다.)

참고
float 데이터형을 사용하면 +- 3.410-38 ~ +- 3.41038 범위의 실수를 저장할 수 있다.
(float로 선언하고 % f로 입력받아 출력하면 된다.)

이 범위를 넘어가는(더 작거나 더 큰) 실수를 저장하기 위해서는
보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다.
double은 더 정확하게 저장할 수 있지만, float보다 2배의 저장 공간이 필요하다.

정수 1개를 입력받아 그대로 출력해보자. 단, 입력되는 정수의 범위는 -9,223,372,036,854,775,808 ~
+9,223,372,036,854,775,807이다.

10진수를 입력받아 8진수(octal)로 출력해보자.

참고
%d(10진수 형태)로 입력받고,
%o를 사용해 출력하면 8진수(octal)로 출력된다.

10진 정수 입력받아 16진수로 출력하기1(설명)

참고
%d(10진수 형태)로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.

10진 정수 입력받아 16진수로 출력하기2(설명)

참고
%d(10진수 형태)로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.

8진 정수 1개 입력받아 10진수로 출력하기(설명)

참고
%o로 입력받으면 8진수로 인식시켜 저장시킬 수 있다.
%d로 출력하면 10진수로 출력된다.

16진수로 입력된 정수 1개를 8진수로 바꾸어 출력해보자.

%x(영문자 소문자) 나 %X(영문자 대문자)로 입력 받으면
16진수로 인식시켜 저장시킬 수 있다. %o로 출력하면 8진수로 출력된다.

package codeup;

import java.util.Scanner;

public class c1035 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("8진수로 변환할 16진수 입력: ");
		int num = sc.nextInt(16); // 8진수 정수 입력
		sc.close();
		
		System.out.printf("%o", num);
	}
}

영문자 1개를 입력받아 아스키 코드표의 10진수 값으로 출력해보자.

참고
아스키 코드는
(ASCII, 미국표준코드, American Standard Code for Information Interchange)
영문자, 특수 문자 등을 저장할 때 사용하는 표준 코드이다.

package codeup;

import java.util.Scanner;

public class c1036 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("문자 입력: ");
    
    char c = sc.nextLine().charAt(0); //문자 하나 입력
		sc.close();
		
		System.out.printf((int)c);
	}
}

10진 정수 1개를 입력받아 아스키 문자로 출력해보자.

package codeup;

import java.util.Scanner;

public class c1037 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("정수 입력: ");
    
    int num = sc.nextInt();
		sc.close();
		
		System.out.printf((char)num);
	}
}

💡 1038.

정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자.
(단, 입력되는 정수는 -1073741824 ~ 1073741824 이다.)
2개의 정수가 공백으로 구분되어 입력된다.
** 주의 : 계산의 결과가 int 범위를 넘어가는지를 잘 생각해 보아야 한다.

package codeup;

import java.util.Scanner;

public class c1038 {
	public static void main(String[] args){
	Scanner sc = new Scanner(System.in); // Scanner 객체 생성
	
	// 범위 : -1073741824 ~ 1073741824 
	System.out.print("첫번째 정수 입력: ");
	long num1 = sc.nextLong();
	long num2 = 0;
	
	if( num1 < -1073741824 || num1 > 1073741824 ) { // num1이 범위 밖 
		System.out.println("범위 안의 정수를 입력해주세요.");	
	
	}else{ // num1이 범위 내
		System.out.print("두번째 정수 입력: ");
		num2 = sc.nextLong();
		
		if( num2 < -1073741824 || num2 > 1073741824 ) { // num2이 범위 밖
			System.out.println("범위 안의 정수를 입력해주세요.");
			
		}else{
			sc.close();
			long sum = num1 + num2;
			System.out.println(sum);
		}
	 }
    }
}
profile
ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ 🔥

1개의 댓글

comment-user-thumbnail
2021년 4월 30일

어메이징

답글 달기