为了账号安全,请及时绑定邮箱和手机立即绑定

驱动程序和方法似乎不能一起工作

驱动程序和方法似乎不能一起工作

拉风的咖菲猫 2023-11-10 16:23:06
我有一个学校项目,我们需要创建一个程序将数字转换为二进制,但我似乎无法让它们一起工作。他们会编译,但实际上不会得到正确的答案,我的 toString() 方法有效,它只是没有获取用户输入的十进制或从 ConvertToBinary 中获取的二进制文件,所以我不确定它在哪里失败。任何帮助都会很棒。驱动程序和方法如下!谢谢!司机:import javax.swing.*;import java.awt.*;import java.awt.event.*;class DecimalConverter extends JPanel{//Sets up the Windowpublic DecimalConverter(){   JFrame window = new JFrame("Binary To Decimal");  //exit program when window closes  window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //WINDOW COMPONENETS:  JLabel lblPrompt = new JLabel("Enter your number to convert: ");  JLabel lblBinary = new JLabel("Binary: ");  JTextField txtDecimal = new JTextField();  JButton btnToBinary = new JButton("To Binary");  //SET POSITIONS  lblPrompt.setBounds(40, 40, 200, 30);  txtDecimal.setBounds(250, 40, 100, 30);  lblBinary.setBounds(40, 80, 300, 30);  btnToBinary.setBounds(250, 120, 100, 30);  setLayout(null);  add(lblPrompt);  add(txtDecimal);  add(lblBinary);  add(btnToBinary);  window.add(this);  window.setSize(400, 200);  window.setVisible(true);  //Event for button  btnToBinary.addActionListener(new ActionListener(){     public void actionPerformed(ActionEvent e){        String str = txtDecimal.getText();           DecimalBinary b = new DecimalBinary();                          lblBinary.setText(b.toString());        }//ends Action Performed     }//Ends ActionListener  );//End Event }//End Constructor public static void main(String args[]){  new DecimalConverter();}//ends main}//End Class方法:class DecimalBinary{private String decimal = "0";private String binary = "";private int dec;public void setDecimal(String decimal){ int dec = Integer.parseInt(decimal); convertToBinary(dec);}public String convertToBinary(int dec){ int pow = 128; while (dec > 0){    if (dec >= pow){      binary += "1";      dec = dec - pow;    }     else if (dec < pow){        binary += "0";    } pow = pow / 2; } return decimal;}  public String  toString(){  return decimal + " is " + binary + " in binary";  } }
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

更改您的代码如下 ( // added)


public void setDecimal(String decimal){

 this.decimal = decimal // added

 int dec = Integer.parseInt(decimal);

 convertToBinary(dec);

}

public void actionPerformed(ActionEvent e){

    String str = txtDecimal.getText();


    DecimalBinary b = new DecimalBinary();               

    b.setDecimal(str) // added

    lblBinary.setText(b.toString());


}//ends Action Performed


查看完整回答
反对 回复 2023-11-10
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信