loops - Java Number-Guessing Game Issue -



loops - Java Number-Guessing Game Issue -

i trying build number guessing game in java unlike usual 1 guess number , programme tells whether high or low. trying build 1 programme guesses number , whether high or low until programme finds number chose.

i having issue "if" statement number programme guesses low.

the specific issue here:

if (hilow.equals("l")) { middle = middle * 2; system.out.println(middle); numbguesses++; }

the entire programme far following:

import java.util.*; public class numbguess { public static void main(string args[]) { int numbguesses = 0; boolean win = false; int hi = 1000000; int low = 0; scanner input = new scanner(system.in); int middle = hi / 2; system.out.println(middle); while (win == false) { string hilow = input.nextline(); if (hilow.equals("h")) { middle = middle / 2; system.out.println(middle); numbguesses++; } if (hilow.equals("l")) { middle = middle * 2; system.out.println(middle); numbguesses++; } if (hilow.equals("y")) { win = true; system.out.println("it took: " + numbguesses + " guesses"); } } } }

the issue running permanent loop whenever number low:

i think need alter middle operated in order working result.

your logic flawed. when number low, shouldn't multiply 2, , when it's high, shouldn't split 2.

the new guess should in middle of range. if first guess 500000, , user says it's low, number between 500000 , max number (1000000), new guess should (1000000-500000)/2=750000, not 500000*2. if first guess high, number between min number (0) , 500000, next guess should (500000-0)/2=250000.

java loops

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -