van decimale naar romeinse cijfers

Status
Niet open voor verdere reacties.

goedendag

Nieuwe gebruiker
Lid geworden
20 mei 2009
Berichten
1
Hallo,

ik ben aan het programmeren en heb een vraagje, want ik kom niet verder.
Dit is de eerste keer dat ik me bezig houdt met programmeren dus kan het niet zo heel goed.

wie kan mij helpen?
hieronder staat mijn code tot nu toe:


import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Applet1 extends Applet
implements ActionListener
{
Button Romeinsecijfers;
TextField invoervak, uitvoervak;
int V, IV, I;
int Rest1, Rest2, rc;

public void init(){

V = 5;
IV = 4;
I = 1;

setLayout (null);
Romeinsecijfers = new Button( "Naar Romeinse cijfers");

Romeinsecijfers.setBounds (70, 40, 130, 20);

Romeinsecijfers.addActionListener(this);

invoervak = new TextField(20);
uitvoervak = new TextField(20);
uitvoervak.setBounds (200, 10, 60, 20);
invoervak.setBounds (10, 10, 60, 20);

add(Romeinsecijfers);
add(invoervak);
add(uitvoervak);
}
public void actionPerformed(ActionEvent e)
{



if(e.getSource() == Romeinsecijfers)
{
String invoerstring;
int x;
invoerstring = invoervak.getText();
x = Integer.parseInt( invoerstring );




V = x / 5;
Rest1 = x % 5;
IV = Rest1 / 4;
Rest2 = Rest1 % 4;
I = Rest2 / 1;
}
{
rc = V + IV + I;

uitvoervak.setText( "" + rc );
}
}
}

dit is het begin, maar ik snap niet hoe de cijfers daadwerkelijk omgezet moeten worden. Hij werkt namelijk niet. Op een of andere manier telt hij alleen hoeveel tekens erin zitten. Als je 10 invult geeft hij "2" aan. er zitten 2 tekens in namelijk 2 keer V. Als je 5 invult geeft hij alleen "V" aan.
 
Laatst bewerkt:
Hallo,
Op een of andere manier telt hij alleen hoeveel tekens erin zitten. Als je 10 invult geeft hij "2" aan. er zitten 2 tekens in namelijk 2 keer V. Als je 5 invult geeft hij alleen "V" aan.

Als x = 10...

V = x / 5; // V = 10 / 5 = 2
Rest1 = x % 5; // Rest1 = 0
IV = Rest1 / 4; // IV = 0
Rest2 = Rest1 % 4; // Rest2 = 0
I = Rest2 / 1; // i = 0;
}
{
rc = V + IV + I; 2 + 0 + 0 + 0 = 0.... dus je programma doet het wel...

maar het antwoord moet 2x "V"

je moet dus niet de getallen optellen. Maar omzetten in een string..

String rc = "";
while (V > 0) {
rc = rc + "V";
V--;
}
while (IV > 0) {
rc = rc + "IV";
IV--;
}

enz..

uitvoervak.setText( rc );
 
Interessant, maar je hebt ergens over het hoofd gezien dat dit het Java-forum is ;)
 
Er stond een post ivm de excelfunctie voor Romeinse cijfers. 'k Zal in het vervolg maar quoten zeker... :rolleyes:
laatste drie posts mogen verwijderd worden wat mij betreft, off-topic.
 
excel

Was mijn fout.
Ik had een fout geplaatste reactie weggehaald.
sorry.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan