日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java124 0,AcWing 124. 数的进制转换java

發布時間:2023/12/2 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java124 0,AcWing 124. 数的进制转换java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

package acwing寒假每日一題;

import java.io.BufferedInputStream;

import java.util.*;

public class TransNumber {

public static void main(String[] args) {

Scanner in = new Scanner(new BufferedInputStream(System.in));

//n次操作

int n = in.nextInt();

//輸入字符串,輸出字符串,a,b進制

String a_line="",b_line="";

int a,b;

List number = new ArrayList<>();

while(n--!=0){

a = in.nextInt();

b = in.nextInt();

a_line = in.next();

//強轉成char[],foreach時可以忽略最后一個字符

for(char c: a_line.toCharArray()){

if(c>='0'&&c<='9') number.add(c-'0');

else if(c>='A'&&c<='Z') number.add(c-'A'+10);

else number.add(c-'a'+36);

}

//使用Collections的reverse翻轉一個list,a[0]表示各位,a[n-1]表示高位

Collections.reverse(number);

//開始短除法

//存放余數

List res = new ArrayList<>();

while (number.size()!=0){

int r = 0;

for(int i = number.size()-1;i>=0;i--){

//更新當前被除數

number.set(i,(int)(number.get(i))+r*a);

//更新當前余數

r = number.get(i)%b;

//更新當前商,直接更新在number[i]上

number.set(i, number.get(i)/b);

}

//把余數存起來

res.add(r);

//去除前導0

while(number.size()!=0&&number.get(number.size()-1)==0) number.remove(number.size()-1);

}

Collections.reverse(res);

//每次把b_line賦值為空

b_line="";

for(int i:res){

//這里要加強轉符號,在這里折騰好久,復習基本數據類型轉換可知,char,byte,short在運算時先變成int,然后計算

//所以這里不加向下強轉的話返回的就是它的ascii碼值

//char到int型可以自動轉換

//(char,byte,short)-int-long-float-double,boolean不能強轉,也不能等效替代為數字

//基本數據類型可以直接用==,而char,Integer,String不能直接用==表示數值相等

//詳情參考java筆記

if (i>=0&&i<=9) b_line+=(char)(i+'0');

else if(i>=10&&i<=35) b_line+=(char)(i-10+'A');

else b_line+=(char)(i-36+'a');

}

System.out.println(a+" "+a_line);

System.out.println(b+" "+b_line);

System.out.println();

}

}

}

```

總結

以上是生活随笔為你收集整理的Java124 0,AcWing 124. 数的进制转换java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。