임의의 네 자리 정수를 입력받아, 각 자릿수를 출력하는 문제
[전체 코드]
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scann = new Scanner(System.in);
int inputInt = 0;
int saveInt = 0; //입력된 값을 보존하기 위한 복사 변수
int firstNumber = 0;
int secondNumber = 0;
int thirdNumber = 0;
int fourthNumber = 0;
System.out.print("4자리 정수 입력 : ");
inputInt = scann.nextInt();
saveInt = inputInt;
firstNumber = saveInt % 10;
saveInt = saveInt / 10;
secondNumber = saveInt % 10;
saveInt = saveInt / 10;
thirdNumber = saveInt % 10;
saveInt = saveInt / 10;
fourthNumber = saveInt;
saveInt = saveInt / 10;
System.out.println("4번째 자리 수 : " + fourthNumber);
System.out.println("3번째 자리 수 : " + thirdNumber);
System.out.println("2번째 자리 수 : " + secondNumber);
System.out.println("1번째 자리 수 : " + firstNumber);
}
알고리즘의 기초이면서 연산자 사용의 연습을 위한 문제입니다.
입력부 //입력을 받기위한 코드입니다.
Scanner scann = new Scanner(System.in);
int inputInt = 0;
int saveInt = 0; //입력된 값을 보존하기 위한 복사 변수
int firstNumber = 0;
int secondNumber = 0;
int thirdNumber = 0;
int fourthNumber = 0;
입력을 받기위해 Scanner 클래스를 받아왔고, 입력받을 변수와 각 자릿수를 표현하기 위한 변수를 만들어 주었습니다.
이 때, 입력받은 값을 보존하기 위해 복사변수를 하나 추가로 생성해줍니다.
처리부 //입력받은 값을 처리하는 코드입니다.
System.out.print("4자리 정수 입력 : ");
inputInt = scann.nextInt();
saveInt = inputInt;
firstNumber = saveInt % 10;
saveInt = saveInt / 10;
secondNumber = saveInt % 10;
saveInt = saveInt / 10;
thirdNumber = saveInt % 10;
saveInt = saveInt / 10;
fourthNumber = saveInt;
saveInt = saveInt / 10;
입력받은 값을 복사변수에 할당해주는 것으로 처리 준비는 끝입니다.
먼저 입력값에 10으로 나머지 연산을 실행해줍니다.
나머지 연산 실행시 10으로 나눈 나머지, 즉 첫번째 자릿수, 일의 자리 값을 추출 할 수 있습니다.
그 후, 값을 10으로 나누면 자릿수가 하나 줄어들게 되며, 나눈 값에 앞에서 처리한 연산을 반복하여 실행하면 각 자릿수를 추출할 수 있습니다.
출력부 //처리된 값을 출력하는 코드입니다.
System.out.println("4번째 자리 수 : " + fourthNumber);
System.out.println("3번째 자리 수 : " + thirdNumber);
System.out.println("2번째 자리 수 : " + secondNumber);
System.out.println("1번째 자리 수 : " + firstNumber);
저장된 추출 자릿수를 System.out.println을 이용해 출력하는 것으로 마무리됩니다.
코드 실행 결과
