java - Understanding nested loop and classes -
i started project understand nested loops , classes. in cycling method when reach if(y >= 0) loop doesn't use variables in classes. example if mph 15 , gear 1 or 3 won't ask me change gear. or if gear 1 , speed 11+ wont ask me change gear? doing incorrectly?
public class bike { int speed; int gear; void changegear(int newval) { gear = newval; } void speedup(int newval) { speed = newval; } void breaks(int slow) { speed = speed + slow; } void printstate() { system.out.println("gear is: " + gear); system.out.println("speed is: " + speed + ("mph")); } } //________________________ public static boolean cycle = true; public static bike b1 = new bike(); public static int x; public static int y; public static scanner input = new scanner(system.in); public static int choice; //______________________________ public static void cycling() { while (cycle == true) { system.out.println("what now? enter number."); system.out.println("1: speed change"); system.out.println("2: change gear"); choice = input.nextint(); if (choice == 1) { system.out.println("choose speed change"); y = input.nextint(); if (y < 0) { b1.breaks(y); if (b1.speed < 0) { b1.speed = math.abs(y) + y; system.out.println("you've stopped entirely"); } } if (y >= 0) { b1.speed = y; b1.printstate(); if (b1.speed >= 0 && b1.speed <= 10) { while (b1.gear != 1) { system.out.println("you need in gear 1 " + "that! please change gears."); x = input.nextint(); b1.changegear(x); } if (b1.speed >= 11 && b1.speed <= 20) { while (b1.gear != 2) { system.out.println("you need in gear 2 for" + "that! please change gears."); x = input.nextint(); b1.changegear(x); } if (b1.speed >= 21) { while (b1.gear != 3) { system.out.println("you need in gear 3 for" + "that! please change gears."); x = input.nextint(); b1.changegear(x); } } /*if(b1.speed >= 0 && b1.speed <=10){ b1.gear = 1; }else if(b1.speed >= 11 && b1.speed <=20){ b1.gear = 2; }else if(b1.speed >= 21){ b1.gear = 3; }*/ b1.printstate(); } } } } } }
think statements. have looks this:
if (b1.speed >= 0 && b1.speed <= 10) { //some while loop here whatever if (b1.speed >= 11 && b1.speed <= 20) { //more code } } in code, statement never true:
if (b1.speed >= 11 && b1.speed <= 20) { the way statement if b1.speed>=0 && b1.speed<=10. therefore, b1.speed ever between 11 , 20 when second (nested) if statement?
Comments
Post a Comment