hoi,
ik heb op school een kleine opdracht gekregen en zit nu even vast.
ik moest een programma maken waarbij een getal (double) ingevoerd moest worden.
als dat getal even getal is moet dat getal gedeeld worden door 2, als het oneven is moet het getal vermenigvuldigd worden met 3 en dan opgeteld worden met 1 en dit in een loop. dit allemaal zolang getal !=1.0
uiteindelijk moet er ook een teller lopen die uiteindelijk het aantal stappen weergeeft en moet het hoogste getal dat tijdens de berekening eruit komt ook weer gegeven worden.
voorbeeld: getal= 12 --> 6 3 10 5 16 8 4 2 1 (einde loop) teller geeft nu aan 9 stappen.
tot nu toe is alles gelukt en zit ik nu vast bij het hoogste getal weergeven.
ik heb zelf het idee dat er een array gemaakt moet worden waarin de getallen komen en dat je zo dus door vergelijken het hoogste getal eruit kan pikken.
ik weet alleen niet hoe ik dit moet doen aangezien elk ingevoerd getal een variërend aantal stappen heeft en dus de array steeds weer een andere grootte zou moeten hebben.
hieronder ook mijn code, ik gebruik overigens Netbeans 6.5
code:
package prog00;
import javax.swing.JOptionPane;
public class Opdracht
{
public static void main(String[] args)
{
double getal = Double.parseDouble(JOptionPane.showInputDialog(null, "Voer een getal in:"));
int teller = 0;
System.out.println("Het door u ingevoerde getal is "+getal);
while (getal !=1.0)
{
if (getal % 2.0 == 0.0)
{
getal /= 2.0;
teller ++;
System.out.println(getal);
}
else
{
getal = (getal*=3.0) + 1.0;
teller ++;
System.out.println(getal);
}
}
System.out.println("Dit is in "+teller+" stap(pen) gebeurd.");
}
}
wie o wie kan mij helpen??
alle hulp is welkom!!
alvast bedankt!
ik heb op school een kleine opdracht gekregen en zit nu even vast.
ik moest een programma maken waarbij een getal (double) ingevoerd moest worden.
als dat getal even getal is moet dat getal gedeeld worden door 2, als het oneven is moet het getal vermenigvuldigd worden met 3 en dan opgeteld worden met 1 en dit in een loop. dit allemaal zolang getal !=1.0
uiteindelijk moet er ook een teller lopen die uiteindelijk het aantal stappen weergeeft en moet het hoogste getal dat tijdens de berekening eruit komt ook weer gegeven worden.
voorbeeld: getal= 12 --> 6 3 10 5 16 8 4 2 1 (einde loop) teller geeft nu aan 9 stappen.
tot nu toe is alles gelukt en zit ik nu vast bij het hoogste getal weergeven.
ik heb zelf het idee dat er een array gemaakt moet worden waarin de getallen komen en dat je zo dus door vergelijken het hoogste getal eruit kan pikken.
ik weet alleen niet hoe ik dit moet doen aangezien elk ingevoerd getal een variërend aantal stappen heeft en dus de array steeds weer een andere grootte zou moeten hebben.
hieronder ook mijn code, ik gebruik overigens Netbeans 6.5
code:
package prog00;
import javax.swing.JOptionPane;
public class Opdracht
{
public static void main(String[] args)
{
double getal = Double.parseDouble(JOptionPane.showInputDialog(null, "Voer een getal in:"));
int teller = 0;
System.out.println("Het door u ingevoerde getal is "+getal);
while (getal !=1.0)
{
if (getal % 2.0 == 0.0)
{
getal /= 2.0;
teller ++;
System.out.println(getal);
}
else
{
getal = (getal*=3.0) + 1.0;
teller ++;
System.out.println(getal);
}
}
System.out.println("Dit is in "+teller+" stap(pen) gebeurd.");
}
}
wie o wie kan mij helpen??
alle hulp is welkom!!
alvast bedankt!