I wrote a method in order to get the choice of the user for the size of a grid. However, my code doesn’t seem to work after executing the method, as it continues to run without end after I type in the response to console (if it matters, I am on repl.it). What is the issue with the code that prevents it from ending?
JavaScript
x
public static String createSize() {
int count = 0;
String answer = "";
Scanner sc = new Scanner(System.in);
System.out.println("How big do you want the grid? (Sizes: 4x4, 5x5, 6x6)");
String size = sc.nextLine();
//Checks if user-inputted answer matches possible answers
while (count < 1) {
if (size.equals("4x4") || size.equals("5x5") || size.equals("6x6")) {
count++;
answer = sc.nextLine();
}
else {
System.out.println("That was not a viable size. Please type a viable size.");
size = sc.nextLine();
}
}
sc.close();
return answer;
}
Advertisement
Answer
In the first If
check in the while
loop
Change
JavaScript
answer = sc.nextLine();
to
JavaScript
answer = size;
since u do not want the user to input size twice. Your code should work fine now.
Let me know if anything isn’t clear so I can modify and elaborate further