なぜ私は自分のコードでエラーが発生し続けるのか分かりません。それは正しく遵守しますが、コードを実行するとエラーになります。私はコンソールでこれを最初に完了しましたが、代わりにシンプルなGUIを使用することにしました。コードは次のとおりです。他のメソッドを使用する前に、最初にボタンを操作するコードを取得しようとしているためです。なぜfloatをバイナリGUIに変換できないのですか?
public class ComputingArithmetic extends JPanel {
JButton numToBit;
JTextField tNumToBit, tNumToBit2, tBitToNum;
public ComputingArithmetic(){
JButton numToBit = new JButton("Decimal to 32 Bit");
numToBit.addActionListener(new NumToBitListener());
JTextField tNumToBit = new JTextField(3);
JTextField tNumToBit2 = new JTextField(8);
add(numToBit);
add(tNumToBit);
add(tNumToBit2);
setPreferredSize(new Dimension(320, 100));
}
public static void main(String []args){
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
ComputingArithmetic compute = new ComputingArithmetic();
frame.getContentPane().add(compute);
frame.pack();
frame.setVisible(true);
}
private class NumToBitListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
tNumToBit2.setText(DecimalToBit(Float.parseFloat(tNumToBit.getText())));
}
}
private static float BitToDecimal(String Binary) {
int intBits = Integer.parseInt(Binary, 2);
float myFloat = Float.intBitsToFloat(intBits);
return myFloat;
}
private static String DecimalToBit(float value) {
if(value > 0) {
int intBits = Float.floatToIntBits(value);
String binary = Long.toBinaryString(intBits);
return "0"+binary;
}
else{
int intBits = Float.floatToIntBits(value);
String binary = Long.toBinaryString(intBits);
return binary;
}
}
private static String HexToBit(String binary){return Long.toHexString(Long.parseLong(binary,2));}
private static String BitToHex(String binary){
Long i = Long.parseLong(binary, 16);
Float f = Float.intBitsToFloat(i.intValue());
return f.toString();
}
}
あなたはどのようなエラーが発生していますか?コード内のエラーについて質問する場合は、質問にエラーを記載する必要があります。 –