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

指定一种整数类型(byte,short,char,int),以一种进制(十进制,二进制,八进制,十六进制)形式输入一个整数,分别显示其其他进制形式,图形用户界面如图所示。... 指定一种整数类型(byte,short,char,int),以一种进制(十进制,二进制,八进制,十六进制)形式输入一个整数,分别显示其其他进制形式,图形用户界面如图所示。
要求:运用数组。设计二进制,四进制,八进制,十六进制显示算法,各进制位数根据整数类型而定;当取值为正数或0且不足位时,高位补0,显示符号位;解决负整数的进制转换问题。
展开
 我来答
jiaxin8000xxsc
2017-07-14 · TA获得超过3.6万个赞
知道大有可为答主
回答量:4009
采纳率:88%
帮助的人:956万
展开全部

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

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

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

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

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

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

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

举例:

String bin = Integer.toBinaryString(10);
String oct = Integer.toOctalString(10);
String hex = 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(String s,   int radix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

举例:

try{
      int i = Integer.parseInt("a", 16);
      //输出为10进制数10
      System.out.println(i);
     }catch (Exception e){
      e.printStackTrace();
    }
try{
            //十六进制转成十进制
            String hex = Integer.valueOf("FFFF",16).toString();
            System.out.println(hex);
            //八进制转成十进制
            String oct = Integer.valueOf("12",8).toString();
            System.out.println(oct);
            //二进制转十进制
           String bin = Integer.valueOf("0101",2).toString();
           System.out.println(bin);
        }catch (Exception e){
            e.printStackTrace();
        }
bd9006
2012-12-09 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
如输入10进制,别的进制用
Integer.toBinaryString(int i)

Integer.toOctalString(int i)

Integer.toHexString(int i)
进行转换;别的进制转换也同样实现
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hdparrot
2012-12-10 · TA获得超过2404个赞
知道小有建树答主
回答量:1385
采纳率:0%
帮助的人:1155万
展开全部
输入后按回车就可以转换。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Convert extends JFrame{
JLabel l1=new JLabel(" 十进制");
JLabel l2=new JLabel(" 二进制");
JLabel l3=new JLabel(" 八进制");
JLabel l4=new JLabel("十六进制");
JTextField t1=new JTextField(25);
JTextField t2=new JTextField(25);
JTextField t3=new JTextField(25);
JTextField t4=new JTextField(25);
JPanel p1=new JPanel();
JPanel p2=new JPanel();
public void init(){
setTitle("整数进制转换");
setLayout(new FlowLayout());
add(p1);add(p2);
p1.setLayout(new GridLayout(4,1,10,10));
p2.setLayout(new GridLayout(4,1,10,10));
p1.add(l1);p2.add(t1);
p1.add(l2);p2.add(t2);
p1.add(l3);p2.add(t3);
p1.add(l4);p2.add(t4);
t1.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
int k = e.getKeyCode();
if (k == e.VK_ENTER){
int i=Integer.parseInt(t1.getText());
t2.setText(Integer.toBinaryString(i));
t3.setText(Integer.toOctalString(i));
t4.setText(Integer.toHexString(i));
}
}
});
t2.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
int k = e.getKeyCode();
if (k == e.VK_ENTER){
int i=Integer.parseInt(t2.getText(),2);
t1.setText(Integer.toString(i));
t3.setText(Integer.toOctalString(i));
t4.setText(Integer.toHexString(i));
}
}
});
t3.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
int k = e.getKeyCode();
if (k == e.VK_ENTER){
int i=Integer.parseInt(t3.getText(),8);
t2.setText(Integer.toBinaryString(i));
t1.setText(Integer.toString(i));
t4.setText(Integer.toHexString(i));
}
}
});
t4.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
int k = e.getKeyCode();
if (k == e.VK_ENTER){
int i=Integer.parseInt(t4.getText(),16);
t2.setText(Integer.toBinaryString(i));
t3.setText(Integer.toOctalString(i));
t1.setText(Integer.toString(i));
}
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(260,200);
pack();
setVisible(true);
}
public static void main(String[] args) throws Exception{
new Convert().init();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没有响应m2
2012-12-09 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3516万
展开全部
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class NewClass1 extends JFrame{

JButton jButton1;
JLabel jLabel1;
JLabel jLabel2;
JLabel jLabel3;
JLabel jLabel4;
JTextField jTextField1;
JTextField jTextField2;
JTextField jTextField3;
JTextField jTextField4;
JButton jButton;
public NewClass1()
{
jButton = new JButton("点我转换");
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jLabel3 = new JLabel();
jLabel4 = new JLabel();
jTextField1 = new JTextField(20);
jTextField2 = new JTextField(20);
jTextField3 = new JTextField(20);
jTextField4 = new JTextField(20);

jLabel1.setText("十进制");
jLabel2.setText("二进制");
jLabel3.setText("八进制");
jLabel4.setText("十六进制");
this.add(jLabel1);
this.add(jTextField1);
this.add(jLabel2);
this.add(jTextField2);
this.add(jLabel3);
this.add(jTextField3);
this.add(jLabel4);
this.add(jTextField4);
jButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
int i =Integer.parseInt(jTextField1.getText()) ;

jTextField2.setText(Integer.toBinaryString(i));
jTextField3.setText(Integer.toOctalString(i));
jTextField4.setText(Integer.toHexString(i));
}
});
this.add(jButton);
this.setLayout(new FlowLayout());
this.setBounds(200, 100, 300, 170);
this.setVisible(true);
}
public static void main(String[] args)
{
new NewClass1();
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-12-09 · 超过25用户采纳过TA的回答
知道答主
回答量:193
采纳率:33%
帮助的人:38.5万
展开全部
不会啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式