千家信息网

Android Studio如何实现简易进制转换计算器

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍了Android Studio如何实现简易进制转换计算器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android Studio如何实现简易进制转换计算
千家信息网最后更新 2025年01月16日Android Studio如何实现简易进制转换计算器

这篇文章主要介绍了Android Studio如何实现简易进制转换计算器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android Studio如何实现简易进制转换计算器文章都会有所收获,下面我们一起来看看吧。

1、问题描述

设计并实现一个数制转换器,能够对输入的任- -进制类型的数值转换为指定的数制类型的数值。必须实现的数制类型有二进制、八进制、十进制和十六进制四种。

2、基本要求

(1)使用Spinner 控件,列出四种数制类型,即:二进制、八进制、十进制和十六进制;
(2)"数值"输入框,不使用Android系统提供的输入面板,进行数值输入;且只能是整数数值;

布局代码:

                                                                            

按钮按压效果(btn_1.xml)代码

                                                                                                

主代码(MainActivity)

package com.example.hzljinzhi;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;public class MainActivity extends AppCompatActivity {    Spinner spinner1,spinner2;    EditText et_shuru,et_shuchu;    Button btn_CE,btn_js;    int ids[]={R.id.btn_0,R.id.btn_1,R.id.btn_2,R.id.btn_3,R.id.btn_4,R.id.btn_5, R.id.btn_6,R.id.btn_7,            R.id.btn_8,R.id.btn_9,R.id.btn_A,R.id.btn_B,R.id.btn_C,R.id.btn_D,R.id.btn_E,R.id.btn_F};    String  temp=null,num1=null,num2=null,num3=null,num4=null;int k;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn_CE=findViewById(R.id.btn_CE);        btn_js=findViewById( R.id.btn_js);       btn_CE.setOnClickListener(new View.OnClickListener() {           @Override           public void onClick(View v) {               et_shuru.setText("");               et_shuchu.setText("");           }       });        for(int i=0;iadapter= new ArrayAdapter(this,android.R.layout.simple_spinner_item,mltems);        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        //绑定Adapter到控件        spinner1.setAdapter(adapter);        spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView parent, View view, int pos, long id) {                switch (pos){                    case 0: k=2;setEnabled(2);break;                    case 1: k=8;setEnabled(8);break;                    case 2: k=10;setEnabled(10);break;                    case 3: k=16;setEnabled(16);break;                }            }            @Override            public void onNothingSelected(AdapterView parent) {            }        });        spinner2.setAdapter(adapter);        spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView parent, View view, final int pos, long id) {                switch (pos){                    case 0: btn_js.setOnClickListener(new View.OnClickListener() {                            @Override                            public void onClick(View v) {                                temp = et_shuru.getText().toString();                                num3 = Integer.valueOf(temp, k).toString();//转换为十进制;                                num1 = Integer.toBinaryString(Integer.parseInt(num3));                                et_shuchu.setText(num1);                            }                        });break;                    case 1: btn_js.setOnClickListener(new View.OnClickListener() {                            @Override                            public void onClick(View v) {                                temp = et_shuru.getText().toString();                                num3 = Integer.valueOf(temp, k).toString();//转换为十进制;                                num2 = Integer.toOctalString(Integer.parseInt(num3));                                et_shuchu.setText(num2);                            }                        });break;                    case 2: btn_js.setOnClickListener(new View.OnClickListener() {                            @Override                            public void onClick(View v) {                                temp = et_shuru.getText().toString();                                num3 = Integer.valueOf(temp, k).toString();//转换为十进制;                                et_shuchu.setText(num3);                            }                        });break;                    case 3: btn_js.setOnClickListener(new View.OnClickListener() {                        @Override                        public void onClick(View v) {                            temp = et_shuru.getText().toString();                            num3 = Integer.valueOf(temp, k).toString();//转换为十进制;                            num4 = Integer.toHexString(Integer.parseInt(num3));                            et_shuchu.setText(num4);                        }                    });break;                }            }            @Override            public void onNothingSelected(AdapterView parent) {            }        });    }    public void setEnabled(int count){        int i =0,size = Math.min(count,ids.length);        for( i=0;i

Spinner 控件的数据源(jinzhi.xml)

            二进制        八进制        十进制        十六进制    

关于"Android Studio如何实现简易进制转换计算器"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Android Studio如何实现简易进制转换计算器"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0