Meaningless Drivel is fun!*
The moose likes Beginning Java and the fly likes comparing a values with user input Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "comparing a values with user input" Watch "comparing a values with user input" New topic
Author

comparing a values with user input

Valarie Brandt
Greenhorn

Joined: Oct 03, 2003
Posts: 24
Hi I know this is probably an easy one but....
I have to get a char from the user and then (in the same method) depending on what the user enter decides what the payment option will be but when I goto compile I get an error that says "found java.lang.string required a char." and it has a carrot under the null soooo what am I not understanding here?
thank you
valarie
[ edited to preserve formatting using the [code] and [/code] UBB tags -ds ]
[ March 17, 2004: Message edited by: Dirk Schreckmann ]
Tim West
Ranch Hand

Joined: Mar 15, 2004
Posts: 539
I find it's best to start with the JavaDoc on these things. JOptionPane.showDialogInput(...) returns a String, not a char.
you could either change the type of userPaymentSelection to String (and then get the first character with charAt(). Alternatively, use charAt immediately:

Incidentally, you can omit the first parameter (null) to showInputDialog, as the method is overloaded.
Hope this helps.

-Tim
Dirk Schreckmann
Sheriff

Joined: Dec 10, 2001
Posts: 7023
char userPaymentSelection;
userPaymentSelection = JOptionPane.showInputDialog...
userPaymentSelection = (char) System.in.read();

So, userPaymentSelection is first declared as type char.
Then, you tried to assign a String value to it. (Note that JOptionPane.showInputDialog returns a String).
Is that problem becoming clearer? (Hint: You cannot assign a String value to a char type variable.)
After that problem is resolved, I'm quite sure why you would bother to get some user input with JOptionPane.showInputDialog, and then immediately overwrite that input with something new from System.in.read(). Were you perhaps thinking to use a different variable to capture the JOptionPane.showInputDialog result?


[How To Ask Good Questions] [JavaRanch FAQ Wiki] [JavaRanch Radio]
Valarie Brandt
Greenhorn

Joined: Oct 03, 2003
Posts: 24
I need to have the user enter A, B,C to decide their payment option and then I need to (in the same method) write code that says if the user selects a then the number of payments is 1 if b then number of payments 2 if c number of payments is 20 and pass that number to a method to be used for a calculation. but i get the error that == cannot be applied to java.lang.String, char soo how do i change a string to a char-----I know that to changea String to a double you use double.parsedouble.......is there a simialr thing for that?
public void getNumberOfPayments(Lawn lawnQuote)throws Exception
{
String userPaymentSelection;
int numberOfPayment;
userPaymentSelection = JOptionPane.showInputDialog(null,
"\n\n\tChoose the number of payments for your lawn service:"
+ "\n\tEnter A for one payment "
+ "\n\tEnter B for two payments "
+ "\n\tEnter C for three payments "
+ "\n\n\t Enter Selection (A, B, C): ");
if (userPaymentSelection == 'A' || userPaymentSelection == 'a')
{
numberOfPayment = 1;
}
else if (userPaymentSelection == 'B' || userPaymentSelection == 'b')
{
numberOfPayment = 2;
}
else if (userPaymentSelection == 'C' || userPaymentSelection == 'c')
{
numberOfPayment = 20;
}
lawnQuote.setNumberOfPayment(numberOfPayment);
}
[ March 18, 2004: Message edited by: Valarie Brandt ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: comparing a values with user input