0

whats wrong?

public class W{ static boolean pressing = false; public static void press(){ pressing = true; } public static void notPressing(){ pressing = false; } } public class Main { public static void main(String[] args) { W walk = new W(); var walking = walk.pressing (true); walk.press(); // press here if (walking){ System.out.println ("I'm walking!!!"); while (walking){ System.out.println ("still walking"); } }else{ System.out.println ("I'm not walking"); } } }

17th May 2020, 3:51 PM
Yahel
Yahel - avatar
4 odpowiedzi
+ 2
Change your variable pressing to private, then you can make a method that returns the value of pressing. Then move the method call to just before the if statement or use it as the condition for the statement. In W class private static boolean pressing = false; public boolean isPressing() { return pressing; } In main var walking = walk.isPressing(); if(walking) { ... ... Or delete walking variable and use if(walk.isPressing()) { ... ...
17th May 2020, 4:14 PM
ChaoticDawg
ChaoticDawg - avatar
+ 1
var walking = walk.pressing; // false In your conditions for if and while you probably want walk.pressing but if you do so then you will have an infinite loop. It will run in the playground until it times out and then will print all the output.
17th May 2020, 4:02 PM
ChaoticDawg
ChaoticDawg - avatar
+ 1
thank you!
17th May 2020, 4:17 PM
Yahel
Yahel - avatar
0
yes i know... (just wanted to test it out). but how can i make this part right: var walking = walk.pressing(); ?
17th May 2020, 4:05 PM
Yahel
Yahel - avatar