자바 복잡 한 진 변환기 기능 예시 실현

9572 단어 Java진법바꾸다
본 논문 의 사례 는 자바 가 복잡 한 진 변환기 기능 을 실현 하 는 것 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
이것 은 자바 로 쓴 진 변환기 로 10,2,8,16 진 간 의 총 12 가지 상호 전환 을 포함한다.변환 할 수 를 입력 한 후 알림 에 따라 변환 방식 을 선택 하고 출력 변환 결 과 를 선택 하 십시오.
주:새로 올 린 파일 은 이전 코드(아래 3.원 자바 코드)를 바탕 으로 개선 되 어 패 키 징 을 더욱 잘 실현 할 수 있 습 니 다.
1. SystemConvert.java

package day8;
import java.util.Scanner;
public class SystemConvert {
  static Scanner scanner = new Scanner(System.in);
  static String s = "";
  //   10   2     。
  public static String C10T2(int numb) {
    String result = "";
    for (int i = numb; i > 0; i /= 2)
      result = i % 2 + result;
    return result;
  }
  //   10   8     。
  public static String C10T8(int numb) {
    String result = "";
    for (int i = numb; i > 0; i /= 8)
      result = i % 8 + result;
    return result;
  }
  //   2   10     。
  public static int C2T10(int numb) {
    int k = 0, result = 0;
    // String result=null;
    for (int i = numb; i > 0; i /= 10) {
      result += (i % 10) * Math.pow(2, k);
      k++;
    }
    return result;
  }
  //   8   10     。
  public static int C8T10(int numb) {
    int k = 0, temp = 0;
    for (int i = numb; i > 0; i /= 10) {
      temp += (i % 10) * Math.pow(8, k);
      k++;
    }
    return temp;
  }
  public static void convert10(int numb, int to) {
    String s = "";
    switch (to) {
    case 2:
      s = "" + C10T2(numb);
      break;
    case 8:
      s = "" + C10T8(numb);
      break;
    case 16:
      s = Integer.toHexString(numb).toUpperCase();
      break;
    default:
      System.out.println("wrong input!");
    }
    System.out.println(s);
  }
  public static void convert2(int numb, int to) {
    String s = "";
    switch (to) {
    case 10:
      s = "" + C2T10(numb);
      break;
    case 8:
      s = "" + C10T8(C2T10(numb));
      break;
    case 16:
      s = Integer.toHexString(C2T10(numb)).toUpperCase();
      break;
    default:
      System.out.println("wrong input!");
    }
    System.out.println(s);
  }
  public static void convert8(int numb, int to) {
    String s = "";
    switch (to) {
    case 2:
      s = "" + C10T2(C8T10(numb));
      break;
    case 10:
      s = "" + C8T10(numb);
      break;
    case 16:
      s = Integer.toHexString(C8T10(numb)).toUpperCase();
      break;
    default:
      System.out.println("wrong input!");
    }
    System.out.println(s);
  }
  public static void convert16(String numb, int to) {
    String s = "";
    switch (to) {
    case 2:
      int temp2 = Integer.parseInt(numb, 16);
      s = C10T2(temp2);
      break;
    case 8:
      int temp3 = Integer.parseInt(numb, 16);
      s = C10T8(temp3);
      break;
    case 10:
      int temp = Integer.parseInt(numb, 16);
      s = "" + temp;
      break;
    default:
      System.out.println("wrong input!");
    }
    System.out.println(s);
  }
  public static void convert(int numb, int from, int to) {
    switch (from) {
    case 10:
      convert10(numb, to);
      break;
    case 2:
      convert2(numb, to);
      break;
    case 8:
      convert8(numb, to);
      break;
    default:
      System.out.println("wrong input!");
    }
  }
  public static void convert(String numb, int from, int to) {
    switch (from) {
    case 16:
      convert16(numb, to);
      break;
    default:
      System.out.println("wrong input!");
    }
  }
  public static void main(String[] args) {
    System.out.println("    16    ?
1。 ;
2. .
"); int input = scanner.nextInt(); switch (input) { case 1: System.out.println(" 16 :"); String numb = scanner.next(); System.out.println(" ?"); int to = scanner.nextInt(); convert(numb, 16, to); break; case 2: System.out.println(" :"); int numb2 = scanner.nextInt(); System.out.println(" ?"); int from = scanner.nextInt(); System.out.println(" ?"); int to2 = scanner.nextInt(); convert(numb2, from, to2); break; default: System.out.println("wrong input!"); } } }
2.실행 효과 캡 처:


3.원래 자바 코드

import java.util.Scanner;
public class SystemConvert {
  static Scanner scanner = new Scanner(System.in);
  static String s = "";
  public static void convert() {
    System.out.println("please input a number:");
    String numb = scanner.next();
    System.out.println("choose a way:
1, 10 2 ;
" + " 2, 2 10 ;
" + " 3, 10 8 ;
" + " 4, 8 10 ;
" + " 5, 10 16 ;
" + " 6, 16 10 ;
" + " 7, 2 8 ;
" + " 8, 2 16 ;
" + " 9, 8 2 ;
" + " 10, 8 16 ;
" + " 11, 16 2 ;
" + " 12, 16 8 ;
"); int input = scanner.nextInt(); switch (input) { case 1: // 10>>>2 s = "" + C10T2(numb); break; case 2: // 2>>>10 s += C2T10(numb); break; case 3: // 10>>>8 s = "" + C10T8(numb); break; case 4: // 8>>>10 s = "" + C8T10(numb); break; case 5: // 10>>>16 s = Integer.toHexString(Integer.valueOf(numb)).toUpperCase(); break; case 6:// 16>>>10 int temp = Integer.parseInt(numb, 16); s = "" + temp; break; case 7: // 2>>>8 s = "" + C10T8(Integer.toString(C2T10(numb))); break; case 8: // 2>>>16 s = Integer.toHexString(Integer.valueOf(C2T10(numb))).toUpperCase(); break; case 9: // 8>>>2 s = "" + C10T2(Integer.toString(C8T10(numb))); break; case 10:// 8>>>16 s = Integer.toHexString(Integer.valueOf(C8T10(numb))).toUpperCase(); break; case 11:// 16>>>2 int temp2 = Integer.parseInt(numb, 16); s = Integer.toBinaryString(temp2); break; case 12:// 16>>>8 int temp3 = Integer.parseInt(numb, 16); s = C10T8(Integer.toString(temp3)); break; default: System.out.println("Wrong input!"); } System.out.println(s); } public static int C2T10(String numb) { int k = 0, result = 0; // String result=null; for (int i = Integer.valueOf(numb); i > 0; i /= 10) { result += (i % 10) * Math.pow(2, k); k++; } return result; } public static int C8T10(String numb) { int k = 0, temp = 0; for (int i = Integer.valueOf(numb); i > 0; i /= 10) { temp += (i % 10) * Math.pow(8, k); k++; } return temp; } public static String C10T8(String numb) { String result = ""; for (int i = Integer.valueOf(numb); i > 0; i /= 8) result = i % 8 + result; return result; } public static String C10T2(String numb) { String result = ""; for (int i = Integer.valueOf(numb); i > 0; i /= 2) result = i % 2 + result; return result; } public static void main(String[] args) { SystemConvert.convert(); } }
4.캡 처 실행:

PS:여기 서 본 사이트 의 온라인 진법 전환 과 계산 도 구 를 몇 가지 더 추천 합 니 다.여러분 에 게 도움 이 될 것 이 라 고 믿 습 니 다.
온라인 임 의 진 변환 도구:
http://tools.jb51.net/transcoding/hexconvert
온라인 표준 계산기:
http://tools.jb51.net/jisuanqi/jsq
온라인 과학 계산기:
http://tools.jb51.net/jisuanqi/jsqkexue
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기