Hjälp jag har kört fast ;)
Hejsan,
programmet fungerar bra förutom när jag väljer att rita ut raketen i fler än ett steg. Jag förstår inte var det blir fel och varför. Tacksam för lite hjälp från er programmeringsproffs
import java.util.*;
public class Raket {
public static void main(String[] args) { // Huvudmetoden.
String draw_boy;
String draw_girl;
String draw_rocket;
Scanner sc = new Scanner(System.in);
do {
String svar;
System.out.print("Ange vad du vill rita. Skriv P för pojke, F för flicka," +
"eller R för raket.");
svar = sc.next();
if ("P".equalsIgnoreCase(svar)){
draw_boy(); // Om P väljes, rita pojke. Annars någon av else if satserna nedan.
}
else if ("F".equalsIgnoreCase(svar)){
draw_girl(); // Om F väljes.
}
else if ("R".equalsIgnoreCase(svar)){
System.out.print("Hur många steg ska raketen ha? ");
int antalSteg = 0;
antalSteg = sc.nextInt();
draw_rocket(); // Om R väljes.
}
System.out.print("Vill du fortsätta? Tryck J för ja & N för nej.");
}
while ("J".equalsIgnoreCase(sc.next()));
}
public static void draw_boy() { // Om P väljes.
draw_head();
draw_base();
draw_parallel();
draw_base();
draw_cone();
}
public static void draw_girl() { // Om F väljes.
draw_head();
draw_cone();
draw_base();
draw_cone();
}
public static void draw_rocket() { // Om R väljes.
int antalSteg =0;
draw_cone();
for ( int i=1; i<antalSteg; i++ )
draw_base();
draw_parallel();
{
draw_base();
draw_cone();
}
}
public static void draw_head() {
System.out.println(" //\\");
System.out.println(" |o,o|");
System.out.println(" \\v/");
}
public static void draw_cone() {
System.out.println(" /\\");
System.out.println(" / \\ ");
System.out.println(" / \\ ");
}
public static void draw_parallel() {
System.out.println("| |");
System.out.println("| |");
System.out.println("| |");
}
public static void draw_base() {
System.out.println("========");
}
}