当前位置: 首页>JAVA>正文

任意進制轉換方法,Xamarin實現一個進制轉換器

任意進制轉換方法,Xamarin實現一個進制轉換器

先上圖吧!

任意進制轉換方法、

代碼實現其實很簡單:

先創建一個Transform類(用來作為為進制轉換的工具)

using System;


namespace Conversion
{
? ? class Transform
? ? {
? ? ? ? internal string TenToBinary(long value)//將十進制轉換為二進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(value, 2);
? ? ? ? }
? ? ? ? internal string TenToEight(long value)//將十進制轉換為八進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(value, 8);
? ? ? ? }
? ? ? ? internal string TenToSixteen(long value)//將十進制轉換為十六進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(value, 16);
? ? ? ? }
? ? ? ? internal string BinaryToEight(long value)//將二進制轉換為八進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(
? ? ? ? ? ? ? ? Convert.ToInt64(value.ToString(), 2), 8);
? ? ? ? }
? ? ? ? internal string BinaryToTen(long value)//將二進制轉換為十進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToInt64(
? ? ? ? ? ? ? ? value.ToString(), 2).ToString();
? ? ? ? }
? ? ? ? internal string BinaryToSixteen(long value)//將二進制轉換為十六進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(
? ? ? ? ? ? ? ? Convert.ToInt64(value.ToString(), 2), 16);
? ? ? ? }
? ? ? ? internal string EightToBinary(long value)//將八進制轉換為二進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(
? ? ? ? ? ? ? ? Convert.ToInt64(value.ToString(), 8), 2);
? ? ? ? }
? ? ? ? internal string EightToTen(long value)//將八進制轉換為十進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToInt64(
? ? ? ? ? ? ? ? value.ToString(), 8).ToString();
? ? ? ? }
? ? ? ? internal string EightToSixteen(long value)//將八進制轉換為十六進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(
? ? ? ? ? ? ? ? Convert.ToInt64(value.ToString(), 8), 16);
? ? ? ? }
? ? ? ? internal string SixteenToBinary(string value)//將十六進制轉換為二進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(
? ? ? ? ? ? ? ? Convert.ToInt64(value, 16), 2);
? ? ? ? }
? ? ? ? internal string SixteenToEight(string value)//將十六進制轉換為八進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToString(
? ? ? ? ? ? ? ? Convert.ToInt64(value, 16), 8);
? ? ? ? }
? ? ? ? internal string SixteenToTen(string value)//將十六進制轉換為十進制
? ? ? ? {
? ? ? ? ? ? return Convert.ToUInt64(value, 16).ToString();
? ? ? ? }
? ? }
}

?

然后在MainActivity中實現功能:

using Android.App;
using Android.Widget;
using Android.OS;
using System;


namespace Conversion
{
? ? [Activity(Label = "Conversion", MainLauncher = true,Icon ="@drawable/book")]
? ? public class MainActivity : Activity
? ? {
? ? ? ? Button btnTransform;
? ? ? ? private EditText edtInput,edtOutput;
? ? ? ? RadioButton twoC,eightC,sixteenC, twoC2, eightC2, sixteenC2,tenC,tenC2;
? ? ? ? Spinner spwhere;
? ? ? ? protected override void OnCreate(Bundle savedInstanceState)
? ? ? ? {
? ? ? ? ? ? base.OnCreate(savedInstanceState);
? ? ? ? ? ? // Set our view from the "main" layout resource
? ? ? ? ? ? SetContentView(Resource.Layout.Main);

? ? ? ? ? ? edtInput = FindViewById<EditText>(Resource.Id.edtinput);
? ? ? ? ? ? edtOutput = FindViewById<EditText>(Resource.Id.edtoutput);
? ? ? ? ? ? btnTransform = FindViewById<Button>(Resource.Id.btnTransform);
? ? ? ? ? ? twoC = FindViewById<RadioButton>(Resource.Id.twoC);
? ? ? ? ? ? eightC = FindViewById<RadioButton>(Resource.Id.eightC);
? ? ? ? ? ? sixteenC = FindViewById<RadioButton>(Resource.Id.sixteenC);
? ? ? ? ? ? twoC2 = FindViewById<RadioButton>(Resource.Id.twoC2);
? ? ? ? ? ? eightC2 = FindViewById<RadioButton>(Resource.Id.eightC2);
? ? ? ? ? ? sixteenC2 = FindViewById<RadioButton>(Resource.Id.sixteenC2);
? ? ? ? ? ? tenC = FindViewById<RadioButton>(Resource.Id.tenC);
? ? ? ? ? ? tenC2 = FindViewById<RadioButton>(Resource.Id.tenC2);
? ? ? ? ? ? var comments = FindViewById<EditText>(Resource.Id.edtinput);
? ? ? ? ? ? var comments2 = FindViewById<EditText>(Resource.Id.edtoutput);
? ? ? ? ? ? //選擇條
? ? ? ? ?
? ? ? ? ? ? btnTransform.Click += ButtenTransform;
? ? ? ? ? ?
? ? ? ? ? ? comments.Click += delegate
? ? ? ? ? ? {
? ? ? ? ? ? ? ? comments.Text = "";
? ? ? ? ? ? };
? ? ? ? ? ? comments2.Click += delegate
? ? ? ? ? ? {
? ? ? ? ? ? ? ? comments2.Text = "";
? ? ? ? ? ? };
? ? ? ? }

? ? ? ? private void ButtenTransform(object sender,EventArgs args)
? ? ? ? {
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Action();//調用Action方法進行轉換操作
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Toast.MakeText(this, "輸入錯誤請重試,錯誤", ToastLength.Short).Show();
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? /// <summary>
? ? ? ? /// 進制轉換
? ? ? ? /// </summary>
? ? ? ? private void Action()
? ? ? ? {
? ? ? ? ? ? if (!sixteenC.Checked)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? long p_line_value;
? ? ? ? ? ? ? ? if (long.TryParse(edtInput.Text, out p_line_value))//判斷輸入的是否是正確的賦值
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? if (tenC.Checked)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if (tenC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = edtInput.Text;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (twoC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().TenToBinary(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (eightC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().TenToEight(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if(sixteenC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().TenToSixteen(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.MakeText(this, "輸入錯誤,重試!", ToastLength.Short).Show();
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else if (twoC.Checked)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if (tenC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().BinaryToTen(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (twoC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = edtInput.Text;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (eightC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().BinaryToEight(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (sixteenC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().BinaryToSixteen(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.MakeText(this, "輸入錯誤,重試!", ToastLength.Short).Show();
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else if(eightC.Checked)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if (tenC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().EightToTen(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (twoC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().EightToBinary(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (eightC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = edtInput.Text;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else if (sixteenC2.Checked)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().EightToSixteen(long.Parse(edtInput.Text));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Toast.MakeText(this, "輸入錯誤,重試!", ToastLength.Short).Show();
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? } ? ? ? ? ? ??

? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (tenC2.Checked)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().SixteenToTen(edtInput.Text);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else if (twoC2.Checked)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().SixteenToBinary(edtInput.Text);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else if (eightC2.Checked)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? edtOutput.Text = new Transform().SixteenToEight(edtInput.Text);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else if (sixteenC2.Checked)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? edtOutput.Text = edtInput.Text;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Toast.MakeText(this, "輸入錯誤,重試!", ToastLength.Short).Show();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }

? ? ? ? }
? ? }
}

布局代碼送上:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ? android:orientation="vertical"
? ? android:layout_width="fill_parent"
? ? android:layout_height="fill_parent">
? ? <LinearLayout
? ? ? ? android:orientation="horizontal"
? ? ? ? android:minWidth="25px"
? ? ? ? android:minHeight="80px"
? ? ? ? android:layout_marginTop="20dp"
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/linearLayoutForName">
? ? ? ? <TextView
? ? ? ? ? ? android:text="輸入:"
? ? ? ? ? ? android:layout_width="81.5dp"
? ? ? ? ? ? android:layout_height="match_parent"
? ? ? ? ? ? android:id="@+id/textViewNme"
? ? ? ? ? ? android:textAllCaps="true"
? ? ? ? ? ? android:textSize="20dp"
? ? ? ? ? ? android:gravity="center" />
? ? ? ? <EditText
? ? ? ? ? ? android:layout_width="291.0dp"
? ? ? ? ? ? android:layout_height="match_parent"
? ? ? ? ? ? android:id="@+id/edtinput" />
? ? </LinearLayout>
? ? <LinearLayout
? ? ? ? android:orientation="horizontal"
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/linearLayout1"
? ? ? ? android:paddingTop="10dp"
? ? ? ? android:paddingEnd="20dp"
? ? ? ? android:gravity="center">
? ? ? ? <RadioGroup
? ? ? ? ? ? android:minWidth="25px"
? ? ? ? ? ? android:minHeight="25px"
? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? android:layout_height="match_parent"
? ? ? ? ? ? android:id="@+id/radioGroup1"
? ? ? ? ? ? android:orientation="horizontal">
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:text="十進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/tenC" />
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:checked="true"
? ? ? ? ? ? ? ? android:text="二進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/twoC" />
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:text="八進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/eightC" />
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:text="十六進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/sixteenC" />
? ? ? ? </RadioGroup>
? ? </LinearLayout>
? ? <LinearLayout
? ? ? ? android:orientation="horizontal"
? ? ? ? android:minWidth="25px"
? ? ? ? android:minHeight="25px"
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/linearLayout2">
? ? ? ? <TextView
? ? ? ? ? ? android:text="輸出:"
? ? ? ? ? ? android:layout_width="81.5dp"
? ? ? ? ? ? android:layout_height="match_parent"
? ? ? ? ? ? android:id="@+id/textViewName"
? ? ? ? ? ? android:textAllCaps="true"
? ? ? ? ? ? android:textSize="20dp"
? ? ? ? ? ? android:gravity="center" />
? ? ? ? <EditText
? ? ? ? ? ? android:layout_width="291.0dp"
? ? ? ? ? ? android:layout_height="match_parent"
? ? ? ? ? ? android:id="@+id/edtoutput" />
? ? </LinearLayout>
? ? <LinearLayout
? ? ? ? android:orientation="horizontal"
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/linearLayout2"
? ? ? ? android:paddingTop="10dp"
? ? ? ? android:paddingEnd="20dp"
? ? ? ? android:gravity="center">
? ? ? ? <RadioGroup
? ? ? ? ? ? android:minWidth="25px"
? ? ? ? ? ? android:minHeight="25px"
? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? android:layout_height="match_parent"
? ? ? ? ? ? android:id="@+id/radioGroup2"
? ? ? ? ? ? android:orientation="horizontal">
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:text="十進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/tenC2" />
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:checked="true"
? ? ? ? ? ? ? ? android:text="二進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/twoC2" />
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:text="八進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/eightC2" />
? ? ? ? ? ? <RadioButton
? ? ? ? ? ? ? ? android:layout_width="wrap_content"
? ? ? ? ? ? ? ? android:layout_height="wrap_content"
? ? ? ? ? ? ? ? android:text="十六進制"
? ? ? ? ? ? ? ? android:textSize="15dp"
? ? ? ? ? ? ? ? android:id="@+id/sixteenC2" />
? ? ? ? </RadioGroup>
? ? </LinearLayout>
? ? <Button
? ? ? ? android:text="轉 ?換"
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="75.0dp"
? ? ? ? android:id="@+id/btnTransform"
? ? ? ? android:textSize="25dp"
? ? ? ? android:layout_marginTop="13.0dp" />
</LinearLayout>

https://www.nshth.com/java/326403.html
>

相关文章:

  • 任意進制轉換方法
  • 進制轉換器含過程
  • XAML的功能
  • 補碼一位乘法booth算法
  • 進制轉換器帶過程
  • 進制轉換的代碼
  • 10110100補碼轉換為原碼
  • 進制轉換編程
  • 有一個解謎的有外星人的游戲,【Pygame小游戲】 史上最經典的外星人游戲 ,全面保障 勇敢去闖 (未解之謎)
  • 2020年2月編程語言排行榜:Java第一,Python出現下滑!
  • 開一家手機配件店怎么樣,手機配件實體店好做不_震驚!手機實體店,你不得不防的套路!
  • bld設計公司,BLE外設設計
  • 手機如何連接外設,iOS 連接外設的幾種方式
  • 三星手機換電池視頻教程,三星2016換電池教程
  • 機械設計制造畢業設計題目,機械專業夾具類畢業設計題目匯總/組合機床、車床撥叉、飛錘支架、連接座、倒擋撥叉、蓋、法蘭盤、銅襯軸套、心軸零件、曲軸箱零件、托板、發動
  • Shell基礎(四):字符串截取及切割、字符串初值的處理、基使用Shell數組、expect預期交互、使用正則表達式...
  • shell編程入門,shell基礎之04
  • 計算機基礎知識試題及答案(全),計算機序列類型和字典試題,計算機考試試題和資料
  • 新開店鋪怎么做推廣,淘寶新開店鋪沒有生意不會推廣的苦衷與心得
  • 如何注冊商標,給大家科普一下商標小知識沒注冊下來的商標,做吊牌,做包裝袋,發朋友圈廣告時千萬不能打R。將未注冊商標冒充注冊商標使用的,或者使用未注冊商標的,最高
  • 商標繳費后多久初步審核通過,商標注冊需要多久下證
  • 商標買賣,信用百度公司商標信息爬取
  • 商標檢索網站,中國商標網 -爬蟲
  • 應用商店上架app容易么,iOS App 上架App Store及提交審核(Appuploader)
  • app證書失效了怎么辦,iOS證書申請打包上傳App Store審核完整流程(7個步驟)
  • 銀行合并后,10萬億同業存款免繳存準 全面降準將推遲
  • kindle買8g還是32g,萬字長文!對比分析了多款存儲方案,KeeWiDB最終選擇自己來
  • java中的final關鍵字有哪些用法,Java: static,final,代碼塊 的詳解
  • 服務器反應慢及解決辦法,Linux服務器 大量的CLOSE_WAIT、TIME_WAIT解決辦法
  • wait for的用法,oracle for update wait 解析
  • 如何手動關閉close_wait,CLOSE_WAIT和TIME_WAIT
  • 渲染軟件哪個好用,Windows平臺OpenGL渲染視頻
  • 怎樣說代碼讓人聽不懂,RPA初級認證直通車,不懂代碼也能成為技術大佬
  • java快速開發平臺 開源,快上車!Java技術開發大廠直通車馬上啟動!
  • 架構師培訓,Java高級:java架構師成長直通車pan
  • 【淘寶開店教程】淘寶直通車常見問題講解
  • 《java架構師成長直通車》課程階段一學習筆記
  • 視頻教程-Java面試Offer直通車-Java