954,510 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

do-while loop & other stuff

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.

Attachments Root22.java (1.33KB) RootApproximator2.java (0.57KB)
Thinka
Posting Whiz
Team Colleague
378 posts since Aug 2004
Reputation Points: 50
Solved Threads: 11
 

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 ==

aniseed
Posting Whiz
359 posts since Apr 2006
Reputation Points: 48
Solved Threads: 7
 

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

s=stdin.read();


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?

Thinka
Posting Whiz
Team Colleague
378 posts since Aug 2004
Reputation Points: 50
Solved Threads: 11
 

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).

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

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?

Thinka
Posting Whiz
Team Colleague
378 posts since Aug 2004
Reputation Points: 50
Solved Threads: 11
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You