国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java實現復雜的進制轉換器功能示例

Java實現復雜的進制轉換器功能示例

2020-07-21 11:46aitaoke Java教程

這篇文章主要介紹了Java實現復雜的進制轉換器功能,結合實例形式分析了java數學運算的相關實現技巧,需要的朋友可以參考下

本文實例講述了Java實現復雜的進制轉換器功能。分享給大家供大家參考,具體如下:

這是用java寫的進制轉換器,包括10、2、8、16進制之間共12種的相互轉換。輸入一個要轉換的數之后,按提示選擇所采用的轉換方式,輸出轉換的結果。

注:新上傳的文件是在此前代碼(下面的3. 原java代碼)的基礎上做了改進,能更好地實現封裝。

1. SystemConvert.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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進制數嗎?\n輸入1。代表是;\n輸入2.代表不是.\n");
    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. 運行效果截圖:

Java實現復雜的進制轉換器功能示例

Java實現復雜的進制轉換器功能示例

3. 原java代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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:\n輸入1,表示10進制轉2進制;\n"
        + "輸入2,表示2進制轉10進制;\n" + "輸入3,表示10進制轉8進制;\n"
        + "輸入4,表示8進制轉10進制;\n" + "輸入5,表示10進制轉16進制;\n"
        + "輸入6,表示16進制轉10進制;\n" + "輸入7,表示2進制轉8進制;\n"
        + "輸入8,表示2進制轉16進制;\n" + "輸入9,表示8進制轉2進制;\n"
        + "輸入10,表示8進制轉16進制;\n" + "輸入11,表示16進制轉2進制;\n"
        + "輸入12,表示16進制轉8進制;\n");
    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. 運行截圖:

Java實現復雜的進制轉換器功能示例

 

希望本文所述對大家java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 免费一级在线 | 欧美日韩中文字幕在线 | 国产亚洲欧美另类一区二区三区 | 在线观看国产一区二区 | 欧美激情一区二区三级高清视频 | 爱爱综合网 | 成人免费毛片aaaaaa片 | 欧美操穴 | 午夜电影 | 国产美女av在线 | 日韩高清国产一区在线 | 亚洲国产成人av | 国产午夜视频在线观看 | 精品综合 | 二区在线观看 | 亚洲黄色在线观看 | 超碰天天 | 久久久久久免费精品 | 久久免费精品视频 | 色视频在线播放 | 欧美成人精品一区二区三区 | 亚洲视频一区二区三区 | 日韩欧美中字 | 国产尤物一区 | 久久99国产精一区二区三区 | 久久丁香 | 欧美日韩在线观看一区二区 | 成人精品| a∨色狠狠一区二区三区 | 久久久久国产精品午夜一区 | 欧美日韩在线免费观看 | 亚洲福利社区 | 亚洲综合二区 | 久久久久久久久久久久99 | 女人爽到高潮aaaa电影 | 欧美在线视频日韩 | 成人在线激情网 | 一二三区视频 | 久久久久亚洲 | 色视频www在线播放国产人成 | 日本福利网站 |