특별한딸기이야기

자바 코드(숫자 바꾸기) 본문

딸기 공부방/JAVA

자바 코드(숫자 바꾸기)

특별한녀석 2008. 5. 22. 20:34

// 숫자를 입력받아 반대로 출력하는 프로그램
// 예 : 123456 -> 654321
package com.tistory.special0strawberry;

import java.util.*;

public class Integer_Print
{
 private int x;
 private int division;
 private int[] result;
 private Scanner scan;
 
 // 생성자
 // 내용 : 변수의 초기화
 public Integer_Print()
 {
  setX(0);
  setDivision(1);
  scan = new Scanner(System.in);
 }
 
 // 입력값 : 배열의 크기
 // 내용 : result 배열의 크기를 정한다.
 public void Set_Result_Length(int s)
 {
  result = new int[s];
 }
 
 // 입력값 : 배열 위치의 값, 배열의 위치
 // 내용 : 배열의 위치에 맞는 값을 넣는다.
 public void Set_Result_Position(int n, int p)
 {
  result[n] = p;
 }
 
 // 반환값 : 배열의 크기
 // 내용 : 배열의 크기를 반환한다.
 public int Get_Result_Length()
 {
  return result.length;
 }
 
 // 입력값 : 배열의 위치
 // 반환값 : result 배열의 위치의 값
 // 내용 : 배열 중에서 위치에 맞는 값을 반환한다.
 public int Get_Result_Position(int p)
 {
  return result[p];
 }
 
 // 입력값 : 정수형 변수 i
 // 내용 : x의 값을 i로 정한다.
 public void setX(int i)
 {
  x = i;
 }
 
 // 반환값 : 정수형 값
 // 내용 : x의 값을 반환한다.

 // 반환값 : x의 값
 // 내용 : x의 현재값을 반환한다.
 public int getX()
 {
  return x;
 }
 
 // 입력값 : 정수형 변수 d
 // 내용 : division의 값을 d로 정한다.
 
 // 입력값 : 정수값
 // 내용 : division의 값을 정수값으로 정한다.
 public void setDivision(int d)
 {
  division = d;
 }
 
 // 반환값 : 정수형 값
 // 내용 : division의 값을 반환한다.
 
 // 반환값 : division의 값
 // 내용 : division의 값을 반환한다.
 public int getDivision()
 {
  return division;
 }
 
 // 내용 : 정수 값을 키보드로 부터 받아온다.
 public int Scan()
 {
  int result;
  System.out.print("정수의 값을 입력하세요 : ");
  result = scan.nextInt();
 
  return result;
 }
 
 // 내용 : division의 값을 계산한다.
 public void Cal_Division()
 {
  int temp;
  int temp_1;
 
  temp = getX();
  temp_1 = getDivision();
 
  while(true)
  {
   if((temp / temp_1) == 0)
   {
    break;
   }
   else
   {
    temp_1 *= 10;
   }
  }
 
  setDivision(temp_1);
 }
 
 // 내용 : 값이 들어갈 배열의 크기를 계산한다.
 public void Cal_Result_Length()
 {
  Set_Result_Length((int)Math.log10(getDivision()) + 1);
 }
 
 // 내용 : 값을 배열에 집어 넣는다.
 public void Input_Result()
 {
  int temp, x_value, input_value, number, cal_number;
 
  x_value = getX();
  number = 0;
  cal_number = 0;
   
  for(temp = Get_Result_Length() - 1; temp > 0; temp--)
  {
   // 배열에 들어갈 값 계산
   input_value = x_value % 10;
   x_value /= 10;
   
   // 정수값 계산
   cal_number *= 10;
   cal_number += input_value;
   
   Set_Result_Position(number, input_value);
   Set_Result_Position(this.Get_Result_Length() - 1, cal_number);
   number++;
  }
 }
 
 // 내용 : result배열의 값을 화면에 출력한다.
 public void Print_Result()
 {
  int length;
 
  System.out.println("number : " + this.getX());
  System.out.println("result : " + this.Get_Result_Position(this.Get_Result_Length() -1));
  for(length = 0; length < this.Get_Result_Length() - 1; length++)
  {
   System.out.println(length + " : " + this.Get_Result_Position(length));
  }
 }
 
 // 내용 : 프로그램을 시작한다.
 public void Start()
 {
  setX(Scan());
  Cal_Division();
  Cal_Result_Length();
  Input_Result();
  Print_Result();
 }
}

'딸기 공부방 > JAVA' 카테고리의 다른 글

양력을 음력으로 바꾸는 소스  (0) 2009.04.28
scjp 1.4 지료  (0) 2008.07.03
자바 코드(병합 프로그램_선택 정렬 추가)  (0) 2008.05.24
자바 코드(병합 프로그램)  (0) 2008.05.22