用andriod studio的java语言写一个进制转换功能的代码
时间: 2024-03-24 11:39:37 浏览: 61
以下是一个将十进制数转换为二进制、八进制、十六进制的 Java 代码:
```java
import java.util.Scanner;
public class NumberConversion {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个十进制数:");
int decimal = scanner.nextInt();
String binary = Integer.toBinaryString(decimal);
String octal = Integer.toOctalString(decimal);
String hex = Integer.toHexString(decimal);
System.out.println("二进制:" + binary);
System.out.println("八进制:" + octal);
System.out.println("十六进制:" + hex);
}
}
```
输入一个十进制数后,程序会将其转换为二进制、八进制、十六进制,并输出转换结果。
相关问题
用andriod studio的写一个进制转换功能的代码
以下是一个将二进制、八进制、十六进制数转换为十进制的 Android Studio Java 代码:
1. 在 layout 文件夹下创建一个名为 activity_main.xml 的布局文件,添加三个 EditText、一个 Spinner 和一个 Button 控件,代码如下:
```xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入数字" />
<Spinner
android:id="@+id/sp_convert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/et_input"
android:entries="@array/convert_types" />
<Button
android:id="@+id/btn_convert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/sp_convert"
android:text="转换" />
<EditText
android:id="@+id/et_output"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/btn_convert"
android:enabled="false"
android:hint="转换结果" />
</RelativeLayout>
```
2. 在 res/values 文件夹下创建一个名为 strings.xml 的资源文件,添加转换类型的字符串数组,代码如下:
```xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="convert_types">
<item>二进制转十进制</item>
<item>八进制转十进制</item>
<item>十六进制转十进制</item>
</string-array>
</resources>
```
3. 在 MainActivity.java 文件中编写转换功能的代码,代码如下:
```java
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;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private EditText etInput, etOutput;
private Spinner spConvert;
private Button btnConvert;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etInput = findViewById(R.id.et_input);
etOutput = findViewById(R.id.et_output);
spConvert = findViewById(R.id.sp_convert);
btnConvert = findViewById(R.id.btn_convert);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.convert_types, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spConvert.setAdapter(adapter);
spConvert.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
etInput.setText("");
etOutput.setText("");
etInput.setHint(getHint(position));
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
btnConvert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String input = etInput.getText().toString().trim();
if (input.isEmpty()) {
etOutput.setText("");
return;
}
int type = spConvert.getSelectedItemPosition();
int radix = getRadix(type);
try {
int number = Integer.parseInt(input, radix);
etOutput.setText(String.valueOf(number));
} catch (NumberFormatException e) {
etOutput.setText("");
}
}
});
}
private String getHint(int position) {
switch (position) {
case 0:
return "请输入一个二进制数";
case 1:
return "请输入一个八进制数";
case 2:
return "请输入一个十六进制数";
default:
return "";
}
}
private int getRadix(int position) {
switch (position) {
case 0:
return 2;
case 1:
return 8;
case 2:
return 16;
default:
return 10;
}
}
}
```
运行应用,输入需要转换的数字,选择转换类型,点击转换按钮即可得到转换结果。
用andriod studio的写一个时间转换功能的代码
好的,下面是一个简单的时间转换功能的代码,实现将输入的时间从北京时间转换为纽约时间:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class TimeConverter {
public static void main(String[] args) {
String time = "2022-01-01 12:00:00"; // 输入的时间,格式为 yyyy-MM-dd HH:mm:ss
String fromTimeZone = "Asia/Shanghai"; // 北京时区
String toTimeZone = "America/New_York"; // 纽约时区
String convertedTime = convertTime(time, fromTimeZone, toTimeZone);
System.out.println(convertedTime); // 输出转换后的时间
}
public static String convertTime(String time, String fromTimeZone, String toTimeZone) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone(fromTimeZone));
Date date = sdf.parse(time);
sdf.setTimeZone(TimeZone.getTimeZone(toTimeZone));
return sdf.format(date);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
```
你可以在Android Studio中创建一个新的Java文件,将上面的代码复制到文件中,然后运行即可。当然,你也可以将该代码集成到你的Android应用中,实现更加灵活的时间转换功能。
阅读全文