Hi, I am new to Java, and have been trying to write a program that calculates the square root of a number using the Babylonian/Heron method. I have been able to make it work, largely due to a lot of help from a PhD student.
So yeah, what I'm trying to do now is to create a do-while loop so that a user chooses whether they want to exit the program or not.

So far i've got

System.out.println("Press y to continue using the program or any other character to exit");
		s = stdin.read();
		System.out.println( );
		while (s = "y"){

Where s is the variable name of whatever the user's response is. I want to say if the user presses y, for the whole program to run again, and if they don't, for the program to terminate.

All help is appreciated, thanks guys.

P.S. the relevant java class files are attached.

Recommended Answers

All 4 Replies

From your code:

while (s = "n"){

This is wrong in two aspects:
1. You are trying to do an assignment operation instead of comparison.
2. Even if you want to compare Strings, you should be using the equals() method instead of ==

Hey aniseed, i'm using Eclipse, and it doesn't seem to like me using "equals()".

It also has a problem with my reading in line, i've got


and it told me that it couldn't convert an integer to a character (which sounds reasonable enough!)
Any ideas as to how to make that a character reading in line?

Eclipse likes equals a lot... What you're doing, comparing object references using ==, is a deadly sin almost universally (there are a very few scenarios where you want it, but those are so specific you can for now forget about them).

In general: NEVER use == to compare objects, it doesn't work (or rather it works perfectly, just not how you think it does).

OK jwenting, thanks, I changed the type to int, so that now my code compiles and runs with no errors, but the test doesn't work :). The joys of hacking code. Anyone know or recommend any good (current) books for absolute beginners with no teachers to help out?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.