Ik wil graag een programma maken met java maar kom er niet helemaal uit.
Ik heb al een programma gemaakt: van hexadecimaal naar decimaal en omgekeerd.
Maar nu wil ik graag ook nog van decimaal naar binair, de code heb ik al. Maar ik snap niet hoe het in actionperformed verwerkt moet worden.
Dit is mijn code:
*/
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Hex extends Applet implements ActionListener
{ Label label1=new Label("Hexadecimal:");
Label label2=new Label("Decimal:");
Label label3=new Label ("Binair:");
TextField left=new TextField();
TextField right=new TextField();
TextField right2=new TextField();
public void init()
{ setLayout(null);
setBackground(Color.lightGray);
label1.setBounds(5,20,85,20);
add(label1);
left.setBounds(95,20,100,20);
add(left);
label2.setBounds(205,20,60,20);
add(label2);
right.setBounds(270,20,100,20);
add(right);
label3.setBounds(380,20,45,20);
add(label3);
right2.setBounds(430,20,100,20);
add(right2);
}
public void actionPerformed(ActionEvent ev)
{ String s="";
int number=0, i, rest;
if (ev.getSource()==left)
{s=left.getText(); //get text
for (i=0; i<s.length();i=i+1)
if (s.charAt(i)<='9') number=number*16+s.charAt(i)-'0';
else number=number*16+s.charAt(i)-'A'+10;
right.setText(""+number);
}
if (ev.getSource()==right)
{number=Integer.parseInt(right.getText());
while (number>0)
{rest=number%16;
if (rest<=9) s=""+rest+s;
else s=""+(char)('A'+rest-10)+s;
number=number/16;
}
left.setText(s);
}
}
public static void main(String[] args)
{ System.out.println("opdracht");
Frame f=new Frame();
Hex hex=new Hex();
f.setSize(400,100);
f.setTitle("opdracht");
f.add(hex);
hex.init();
f.addWindowListener(new MyWindow());
f.setVisible(true);
}
}
Dit moet er in verwerkt worden:*/
public void actionPerformed(ActionEvent ev)
{ String s="";
int number=0, i;
if (ev.getSource()==left)
{s=left.getText();
for (i=0; i<s.length();i=i+1)
number=number*2+Integer.parseInt(""+s.charAt(i));
right.setText(""+number);
}
if (ev.getSource()==right)
{number=Integer.parseInt(right.getText());
while (number>0)
{if (number%2==0) s='0'+s;
else s='1'+s;
number=number/2;
}
left.setText(s);
}
}
public static void main(String[] args)
{ System.out.println("knutsel");
Frame f=new Frame();
Binary bin=new Binary();
f.setSize(380,100);
f.setTitle("Conversion binary <-> decimal");
f.add(bin);
bin.init();
f.addWindowListener(new MyWindow());
f.setVisible(true);
}
}
Alvast bedankt als jullie me kunnen helpen.
Ik heb al een programma gemaakt: van hexadecimaal naar decimaal en omgekeerd.
Maar nu wil ik graag ook nog van decimaal naar binair, de code heb ik al. Maar ik snap niet hoe het in actionperformed verwerkt moet worden.
Dit is mijn code:
*/
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Hex extends Applet implements ActionListener
{ Label label1=new Label("Hexadecimal:");
Label label2=new Label("Decimal:");
Label label3=new Label ("Binair:");
TextField left=new TextField();
TextField right=new TextField();
TextField right2=new TextField();
public void init()
{ setLayout(null);
setBackground(Color.lightGray);
label1.setBounds(5,20,85,20);
add(label1);
left.setBounds(95,20,100,20);
add(left);
label2.setBounds(205,20,60,20);
add(label2);
right.setBounds(270,20,100,20);
add(right);
label3.setBounds(380,20,45,20);
add(label3);
right2.setBounds(430,20,100,20);
add(right2);
}
public void actionPerformed(ActionEvent ev)
{ String s="";
int number=0, i, rest;
if (ev.getSource()==left)
{s=left.getText(); //get text
for (i=0; i<s.length();i=i+1)
if (s.charAt(i)<='9') number=number*16+s.charAt(i)-'0';
else number=number*16+s.charAt(i)-'A'+10;
right.setText(""+number);
}
if (ev.getSource()==right)
{number=Integer.parseInt(right.getText());
while (number>0)
{rest=number%16;
if (rest<=9) s=""+rest+s;
else s=""+(char)('A'+rest-10)+s;
number=number/16;
}
left.setText(s);
}
}
public static void main(String[] args)
{ System.out.println("opdracht");
Frame f=new Frame();
Hex hex=new Hex();
f.setSize(400,100);
f.setTitle("opdracht");
f.add(hex);
hex.init();
f.addWindowListener(new MyWindow());
f.setVisible(true);
}
}
Dit moet er in verwerkt worden:*/
public void actionPerformed(ActionEvent ev)
{ String s="";
int number=0, i;
if (ev.getSource()==left)
{s=left.getText();
for (i=0; i<s.length();i=i+1)
number=number*2+Integer.parseInt(""+s.charAt(i));
right.setText(""+number);
}
if (ev.getSource()==right)
{number=Integer.parseInt(right.getText());
while (number>0)
{if (number%2==0) s='0'+s;
else s='1'+s;
number=number/2;
}
left.setText(s);
}
}
public static void main(String[] args)
{ System.out.println("knutsel");
Frame f=new Frame();
Binary bin=new Binary();
f.setSize(380,100);
f.setTitle("Conversion binary <-> decimal");
f.add(bin);
bin.init();
f.addWindowListener(new MyWindow());
f.setVisible(true);
}
}
Alvast bedankt als jullie me kunnen helpen.