aspose file tools*
The moose likes Java in General and the fly likes Using .equals in a while statement Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Using .equals in a while statement" Watch "Using .equals in a while statement" New topic
Author

Using .equals in a while statement

Rory Rezzelle
Greenhorn

Joined: Sep 30, 2003
Posts: 5
Hi all, I'm new here, but I need to know this ASAP.
I making a proggy that allows the user to input a product then how much it is. When the user doesn't input a product, Java displays the average amount of all the prices.
My prolem comes in when I use ".equals". Here's what I got:
import javax.swing.*;
import java.text.NumberFormat; //class for numeric formatting
import java.util.Locale;//class for country-specific information
public class Homework5{
public static void main( String args[] )
{
String prod_name;
String prod_price;
int price;
int tot_price = 0;
int prod_number = 1;
int avg_price;
// create NumberFormat for currency in US dollar format
NumberFormat moneyFormat = NumberFormat.getCurrencyInstance ( Locale.US );
// create JTextArea to display Output
JTextArea outputTextArea = new JTextArea();
// set first line of text in outputTextArea
outputTextArea.setText( "Name\tPrice\n" );
prod_name = JOptionPane.showInputDialog( "Enter product name:" );
while (prod_name.equals(""))
{
prod_price = JOptionPane.showInputDialog( "Enter product price:" );
price = Integer.parseInt( prod_price );
tot_price = price + tot_price;
prod_number++;
outputTextArea.append( prod_name + "\t" + moneyFormat.format( prod_price ) + "\n" );
prod_name = JOptionPane.showInputDialog( "Enter product name:" );
}
avg_price = tot_price / prod_number;
outputTextArea.append ( "Average price =" + moneyFormat.format( avg_price ) );
System.exit ( 0 );
}
}
What happens is, when I type anything in for prod_name, I can't type in anything for prod_price because it reads prod_name as true when I type something in. When I say prod_name.equals("") then I'm asking for an empty string. How can I say "while (prod_name.equals( <any string> ) ?
Please help.
Rory
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24168
    
  30

Hi,
Welcome to JavaRanch!
You want to do something if the String is not null and not empty, yes? So that's what you say

Note that "!" before the prod_name.equals(""), which means "not".


[Jess in Action][AskingGoodQuestions]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Using .equals in a while statement
 
Similar Threads
Newbie problem - HELP!
Beginner Java Question
Keep getting ioexception...please help
Hibernate generated query for a inheritance mapping
Did I do this right? (Interest calculator)