导航:首页 > 编程语言 > java十进制转2816进制

java十进制转2816进制

发布时间:2024-04-19 00:46:12

java实现:将一个十进制数分别转换成二进制,八进制和十六进制,用户界面如图 (必须Java实现)

Java源程序

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

{

JTextFieldtxtDec;

JTextFieldtxtBin;

JTextFieldtxtOct;

JTextFieldtxtHex;

publicTest25(){

("十进制整数转换");

txtDec=newJTextField(15);

txtBin=newJTextField(15);

txtOct=newJTextField(15);

txtHex=newJTextField(15);

txtBin.setEditable(false);

txtOct.setEditable(false);

txtHex.setEditable(false);

this.setLayout(newFlowLayout());

this.add(newJLabel("十进制"));

this.add(txtDec);

this.add(newJLabel("二进制"));

this.add(txtBin);

this.add(newJLabel("八进制"));

this.add(txtOct);

this.add(newJLabel("十六进制"));

this.add(txtHex);

txtDec.addActionListener(this);

this.setSize(250,150);

this.setResizable(false);

this.setVisible(true);

}

publicstaticvoidmain(String[]args){

newTest25();

}

@Override

publicvoidactionPerformed(ActionEvente){

JTextFieldtxt=(JTextField)e.getSource();

if(txt.getText()==null||txt.getText().trim().equals("")){

JOptionPane.showMessageDialog(this,"十进制数不能为空");

return;

}

intnum;

try{

num=Integer.parseInt(txt.getText());

if(num<0){

num*=-1;

txtBin.setText("-"+Convert.format(num,2));

txtOct.setText("-"+Convert.format(num,8));

txtHex.setText("-"+Convert.format(num,16));

}

else{

txtBin.setText(Convert.format(num,2));

txtOct.setText(Convert.format(num,8));

txtHex.setText(Convert.format(num,16));

}

}

catch(Exceptionex){

JOptionPane.showMessageDialog(this,"十进制数错误");

return;

}

}

}

classConvert{

privatestaticString[]bins={"0","1"};

privatestaticString[]octs={"0","1","2","3","4","5","6","7"};

privatestaticString[]hexs={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};

publicstaticStringformat(intnum,intr){

StringBufferbuff=newStringBuffer();

if(r==2){

while(num>0){

buff.append(bins[num%r]);

num/=r;

}

}

elseif(r==8){

while(num>0){

buff.append(octs[num%r]);

num/=r;

}

}

elseif(r==16){

while(num>0){

buff.append(hexs[num%r]);

num/=r;

}

}

buff.reverse();

returnbuff.toString();

}

}

运行测试:

② java实现:整数进制相互转换

java实现:整数进制相互转换的方法:

  1. 十进制转为二进制、八进制、十六进制, 用 Integer.toXXXString()方法

    (1)十进制转为二进制: Integer.toBinaryString(int i);

    public static String toBinaryString(inti):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

    (2)十进制转为8进制 :Integer.toOctalString(int i);
    public static String toOctalString(inti):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。

    (3)十进制转为16进制: Integer.toHexString(int i);

    public static String toHexString(inti):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

举例:

Stringbin=Integer.toBinaryString(10);
Stringoct=Integer.toOctalString(10);
Stringhex=Integer.toHexString(10);

2.十六进制、八进制、二进制转为十进制(有两种方法):parseInt() 和valueOf()。

Integer.parseInt(String s,int radix);

public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二个参数作为指定的基数,将字符串参数解析为有符号的整数;

Integer.valueOf(String s,int radix);

public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

举例:

try{
inti=Integer.parseInt("a",16);
//输出为10进制数10
System.out.println(i);
}catch(Exceptione){
e.printStackTrace();
}
try{
//十六进制转成十进制
Stringhex=Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八进制转成十进制
Stringoct=Integer.valueOf("12",8).toString();
System.out.println(oct);
//二进制转十进制
Stringbin=Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch(Exceptione){
e.printStackTrace();
}

③ 用JAVA将十进制转换成十六进制

1、用来Integer.toHexString方法即可将十进制装自成十六进制。

package com.test;

public class Test {

public static void main(String[] args) {
int i = 123;
System.out.println(Integer.toHexString(i));
}
}

④ java中怎么将十进制转换为十六进制

用除商取余法
用十进制数除以16 记录下商和余数
然后继续用商去除以16记录下商和余数,直到商为0
最后将余数逆序排列就可以了
比如十进制数33转为十六进制
33/16=2 余1
2/16=0 余2
结果就是0x 21(十六进制以0x开头)

⑤ java中怎么将10进制转化成十六进制

Scanner sc = new Scanner(System.in);
System.out.println("请出入一个十进制数");
int x = sc.nextInt();
System.out.println(x+"的十六进制结果是:"+Integer.toHexString(x));

⑥ 请问怎么用java编程语言,将10进制的数字转为2进制,8进制,16进制具体代码怎么写

import java.io.*;
class test
{
static BufferedReader keyboard=new
BufferedReader(new InputStreamReader(System.in));
public static void main(String[]args)throws IOException
{
int n,base;
n=Integer.parseInt(keyboard.readLine());
exchange(n);
System.out.println();
}
public static void exchange(int n)
{
if(n>0)
{
exchange(n/2);
System.out.print(n%2);
}
}
}

这个是十进制转化为二进制的
用的是递归方法

八进制与十六进制思路相同

阅读全文

与java十进制转2816进制相关的资料

热点内容
学习四级听力app哪个好 浏览:561
mac如何下载win10镜像文件 浏览:624
日版a1453卡贴机升级 浏览:912
javascript全局变量局部变量 浏览:496
大数据的底表是什么意思 浏览:981
龙与城取物下载什么app 浏览:19
山西大同哪里学编程课 浏览:316
许可证与配置文件 浏览:140
华为怎么连接电脑数据线 浏览:288
核实数据后如何回复 浏览:572
jsb标签放不了数字吗 浏览:146
虚拟内存的数据存放在哪里 浏览:601
神王霸业如何挂机升级 浏览:706
ps能否打开raf文件 浏览:496
华为手机文件夹清理 浏览:849
电脑falsh教程 浏览:75
有哪些不要会员的电影app吗 浏览:15
钢铁侠制造用什么编程 浏览:12
国内哪个app可以查机票信息 浏览:865
哪个app可以定制自驾游 浏览:787

友情链接