用Java将一个整数用二进制、八进制和十六进制输出

用java的Integer本身配有的方法。
public class Test 
{    public static void main(String[] args) 
{       int n = 100;      
 System.out.println("二进制:" + Integer.toBinaryString(n));     
  System.out.println("八进制:" + Integer.toOctalString(n));       
System.out.println("十六进制:" + Integer.toHexString(n));    } } 
写一个程序实现
public class Trans { 
 private static char[] a = { '0', '1', '2', '3',  '4', '5', '6', '7',  '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; 
public static void main(String[] args) {  
 int number = 10;  
 System.out.println(number + "二进制: " + toNumber(number, 2));  
 System.out.println(number + "八进制: " + toNumber(number, 8));  
 System.out.println(number + "十六进制: " + toNumber(number, 16));  }    
public static String toNumber(int number, int n) 
{   String str="";
   for(int i = 0; i < n; i ++) { 
   if(number == i) {     str=a[i] + str;     return str;   
 }   }  
 str = a[number % n] + str; 
 str = toNumber(number/n, n) + str;  
 return str;  } }


转载自 http://novicechan.blog.163.com/blog/static/2053621622012350436343/

转载于:https://www.cnblogs.com/IT-utopia/p/3202557.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用Java Swing的布局管理器实现将一个十进制整数分别转换成二进制八进制十六进制整数的GUI程序: ```java import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class NumberConverter extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private static final int WIDTH = 400; private static final int HEIGHT = 150; private static final String TITLE = "Number Converter"; private JTextField decimalField, binaryField, octalField, hexadecimalField; public NumberConverter() { super(TITLE); setSize(WIDTH, HEIGHT); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS)); JPanel decimalPanel = new JPanel(new BorderLayout()); JLabel decimalLabel = new JLabel("Decimal:"); decimalField = new JTextField(); decimalField.setPreferredSize(new Dimension(200, 25)); decimalPanel.add(decimalLabel, BorderLayout.WEST); decimalPanel.add(decimalField, BorderLayout.CENTER); mainPanel.add(decimalPanel); JPanel binaryPanel = new JPanel(new BorderLayout()); JLabel binaryLabel = new JLabel("Binary:"); binaryField = new JTextField(); binaryField.setPreferredSize(new Dimension(200, 25)); binaryField.setEditable(false); binaryPanel.add(binaryLabel, BorderLayout.WEST); binaryPanel.add(binaryField, BorderLayout.CENTER); mainPanel.add(binaryPanel); JPanel octalPanel = new JPanel(new BorderLayout()); JLabel octalLabel = new JLabel("Octal:"); octalField = new JTextField(); octalField.setPreferredSize(new Dimension(200, 25)); octalField.setEditable(false); octalPanel.add(octalLabel, BorderLayout.WEST); octalPanel.add(octalField, BorderLayout.CENTER); mainPanel.add(octalPanel); JPanel hexadecimalPanel = new JPanel(new BorderLayout()); JLabel hexadecimalLabel = new JLabel("Hexadecimal:"); hexadecimalField = new JTextField(); hexadecimalField.setPreferredSize(new Dimension(200, 25)); hexadecimalField.setEditable(false); hexadecimalPanel.add(hexadecimalLabel, BorderLayout.WEST); hexadecimalPanel.add(hexadecimalField, BorderLayout.CENTER); mainPanel.add(hexadecimalPanel); JPanel buttonPanel = new JPanel(); JButton convertButton = new JButton("Convert"); convertButton.addActionListener(this); buttonPanel.add(convertButton); mainPanel.add(buttonPanel); add(mainPanel); setVisible(true); } @Override public void actionPerformed(ActionEvent e) { String decimalString = decimalField.getText(); if (decimalString.isEmpty()) { return; } try { int decimal = Integer.parseInt(decimalString); String binary = Integer.toBinaryString(decimal); String octal = Integer.toOctalString(decimal); String hexadecimal = Integer.toHexString(decimal); binaryField.setText(binary); octalField.setText(octal); hexadecimalField.setText(hexadecimal); } catch (NumberFormatException ex) { // do nothing } } public static void main(String[] args) { new NumberConverter(); } } ``` 在这个程序中,我们使用了BoxLayout来垂直排列各个面板,使用BorderLayout将标签和文本框放在一起,使用JButton添加一个转换按钮,并在actionPerformed方法中实现将十进制整数转换成二进制八进制十六进制整数的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值