Java program using scanner

Please support our Java advertiser: Programming Forums - DaniWeb Sister Site
Thread Solved

Join Date: Mar 2007
Posts: 6
Reputation: PCKing is an unknown quantity at this point 
Solved Threads: 0
PCKing PCKing is offline Offline
Newbie Poster

Java program using scanner

 
0
  #1
Mar 4th, 2007
I'm a real Noob to programming & am taking a class of intro to Java.
I keep getting a variable not initializing error on the nightsA line calculation.
I'm going to warn once again I'm a NOOB to this, so any help is appreciated.

import java.util.Scanner;

public class SunnyDaze

{

public static void main (String[] args)
{
String inputSuite;
int nightsA;
int nightsB;
int nightsC;
int suiteA = 150;
int suiteB = 175;
int suiteC = 200;
double stateTax = 0.045;
double federalTax = 0.05;
double discount = 0.1;
double suiteApricenoDCst;
double suiteApricenoDCft;
double suiteApricenoDC;
double suiteADC;
double suiteApriceDCst;
double suiteApriceDCft;
double suiteApriceDC;
double suiteBpricenoDCst;
double suiteBpricenoDCft;
double suiteBpricenoDC;
double suiteBDC;
double suiteBpriceDCst;
double suiteBpriceDCft;
double suiteBpriceDC;
double suiteCpricenoDCst;
double suiteCpricenoDCft;
double suiteCpricenoDC;
double suiteCDC;
double suiteCpriceDCst;
double suiteCpriceDCft;
double suiteCpriceDC;


Scanner keyboard = new Scanner(System.in);

System.out.println("Which is the letter of the suite you want to stay at? (A, B, or C?)");
inputSuite = keyboard.nextLine();

if (inputSuite.equalsIgnoreCase("A"))
{
System.out.println("How many nights do you plan on staying at the R & R?");
nightsA = keyboard.nextInt();
}
else
{
System.out.println("Try one of our other suites. They might suit you better. ");
}
if (nightsA <= 5 || nightsA >=1)
{
suiteApricenoDCst = (suiteA * stateTax);
suiteApricenoDCft = (suiteA * federalTax);
suiteApricenoDC = (suiteA + suiteApricenoDCst + suiteApricenoDCft * nightsA);
System.out.println("Your price for your stay is " + suiteApricenoDC);
}
else
if (nightsA > 5)
{
suiteADC = (suiteA * discount);
suiteApriceDCst = (suiteADC * stateTax);
suiteApriceDCft = (suiteADC * federalTax);
suiteApriceDC = (suiteADC + suiteApricenoDCst + suiteApricenoDCft * nightsA);
System.out.println("Your price for your stay is " + suiteApricenoDC);
}
else
{
System.out.println("ERROR!!!");
}

if (inputSuite.equalsIgnoreCase("B"))
{
System.out.println("How many nights do you plan on staying at the Pair O'Dice?");
nightsB = keyboard.nextInt();
}
else
{
System.out.println("If this doesn't suit you, then try another suite, plz");
}
if (nightsB >= 1 || nightsB <= 5)
{
suiteApricenoDCst = (suiteB * stateTax);
suiteApricenoDCft = (suiteB * federalTax);
suiteApricenoDC = (suiteB + suiteBpricenoDCst + suiteBpricenoDCft * nightsB);
System.out.println("Your price for your stay is " + suiteBpricenoDC);
}
else
if (nightsB > 5)
{
suiteBDC = (suiteB * discount);
suiteBpriceDCst = (suiteBDC * stateTax);
suiteBpriceDCft = (suiteBDC * federalTax);
suiteBpriceDC = (suiteBDC + suiteBpricenoDCst + suiteBpricenoDCft * nightsB);
System.out.println("Your price for your stay is " + suiteBpricenoDC);
}

if (inputSuite.equalsIgnoreCase("C"))
{
System.out.println("How many nights do you plan to stay in our luxurous Luckheart Manor?");
nightsC = keyboard.nextInt();
}
else
{
System.out.print("I don't know what else to do for you, sorry...");
}
if (nightsC >= 1 || nightsC <= 5)
{
suiteCpricenoDCst = (suiteC * stateTax);
suiteCpricenoDCft = (suiteC * federalTax);
suiteCpricenoDC = (suiteC + suiteCpricenoDCst + suiteCpricenoDCft * nightsC);
System.out.println("Your price for your stay is " + suiteCpricenoDC);
}
else
if (nightsC >= 5)
{
suiteCDC = (suiteC * discount);
suiteCpriceDCst = (suiteCDC * stateTax);
suiteCpriceDCft = (suiteCDC * federalTax);
suiteCpriceDC = (suiteCDC + suiteCpricenoDCst + suiteCpricenoDCft * nightsC);
System.out.println("Your price for your stay is " + suiteApricenoDC);
}
}
}
Reply With Quote Quick reply to this message  
Join Date: Nov 2004
Posts: 6,143
Reputation: jwenting is just really nice jwenting is just really nice jwenting is just really nice jwenting is just really nice 
Solved Threads: 212
Team Colleague
jwenting's Avatar
jwenting jwenting is offline Offline
duckman

Re: Java program using scanner

 
0
  #2
Mar 4th, 2007
You MUST explicitly initialise all local variables in a method before reading them for the first time.
You don't do that, so you get an error.
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
Reply With Quote Quick reply to this message  
Join Date: Mar 2007
Posts: 6
Reputation: PCKing is an unknown quantity at this point 
Solved Threads: 0
PCKing PCKing is offline Offline
Newbie Poster

Re: Java program using scanner

 
0
  #3
Mar 4th, 2007
Originally Posted by jwenting View Post
You MUST explicitly initialise all local variables in a method before reading them for the first time.
You don't do that, so you get an error.
Thanks for replying, as I stated in my post, I'm a NOOB at this & I posted this to see if anybody could give me a suggestion on how to fix this error.
Reply With Quote Quick reply to this message  
Join Date: Oct 2006
Posts: 262
Reputation: Dukane is an unknown quantity at this point 
Solved Threads: 22
Dukane's Avatar
Dukane Dukane is offline Offline
Posting Whiz in Training

Re: Java program using scanner

 
0
  #4
Mar 4th, 2007
He did give you a suggestion on how to fix the error. Do you understand his recommendation?
It is very important to read this: http://www.catb.org/~esr/faqs/smart-questions.html
Reply With Quote Quick reply to this message  
Join Date: Mar 2007
Posts: 6
Reputation: PCKing is an unknown quantity at this point 
Solved Threads: 0
PCKing PCKing is offline Offline
Newbie Poster

Re: Java program using scanner

 
0
  #5
Mar 4th, 2007
Originally Posted by Dukane View Post
He did give you a suggestion on how to fix the error. Do you understand his recommendation?
No, I'm a NOOB!!!

Sry, bout this...
Reply With Quote Quick reply to this message  
Join Date: Feb 2006
Posts: 2,415
Reputation: masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of 
Solved Threads: 256
Moderator
masijade's Avatar
masijade masijade is offline Offline
Nearly a Posting Maven

Re: Java program using scanner

 
0
  #6
Mar 4th, 2007
Originally Posted by PCKing View Post
Thanks for replying, as I stated in my post, I'm a NOOB at this & I posted this to see if anybody could give me a suggestion on how to fix this error.
No, judging from this post, you came here for someone to give you the code to complete and functional program. Well, I'm sorry (no I'm not), but that is not how it works. Read jwenting's post again, consider his recommendation, study your code, and attempt to fix it. Surely, you have learned how to initialise variables.

(His response "No I haven't, and stop calling me Shirley!" Both halves of that sentence as senseless as the other.)
Last edited by masijade; Mar 4th, 2007 at 10:26 am. Reason: typo
Java Programmer and Sun Systems Administrator

----------------------------------------------

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
--Brian Kernighan
Reply With Quote Quick reply to this message  
Join Date: Mar 2007
Posts: 6
Reputation: PCKing is an unknown quantity at this point 
Solved Threads: 0
PCKing PCKing is offline Offline
Newbie Poster

Re: Java program using scanner

 
0
  #7
Mar 4th, 2007
Originally Posted by masijade View Post
Surely, you have learned how to initialise variables.

(His response "No I haven't, and stop calling me Shirley!" Both halves of that sentence as senseless as the other.)
That's the error that I get & That's what I don't understand, especially within (if, else statements when calculating a price).

I've only been exposed to Java programming since Jan 07, so I'm a true noob & idiot at programming...
Reply With Quote Quick reply to this message  
Join Date: Mar 2007
Posts: 6
Reputation: PCKing is an unknown quantity at this point 
Solved Threads: 0
PCKing PCKing is offline Offline
Newbie Poster

Re: Java program using scanner

 
0
  #8
Mar 4th, 2007
Here, let me explain my train of thought in this program.

I'm trying to calculate a price including taxes up to 5 nights staying at a hotel.

so I use

define variables

ask suite letter then go into (if, else mode)

if (1st letter chosen)
then with letter chosen, do math with & without discount including taxes (which also means i need a range of numbers 1-4 & 5 > are the 2 sets which means i need another embedded if, else???)
else
if (2nd letter chosen)
etc.
else
if(3rd letter chosen)
else
error

end of story.

I just need to know how to do this w/Scanner.
Last edited by PCKing; Mar 4th, 2007 at 10:46 am.
Reply With Quote Quick reply to this message  
Join Date: Feb 2006
Posts: 2,415
Reputation: masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of masijade has much to be proud of 
Solved Threads: 256
Moderator
masijade's Avatar
masijade masijade is offline Offline
Nearly a Posting Maven

Re: Java program using scanner

 
0
  #9
Mar 5th, 2007
Here is a sample of your code:
  1. public static void main (String[] args) {
  2. String inputSuite;
  3. int nightsA; // Here you declare, but do not define nightsA
  4.  
  5. ...
  6.  
  7. inputSuite = keyboard.nextLine();
  8.  
  9. if (inputSuite.equalsIgnoreCase("A")) {
  10. System.out.println("How many nights do you plan on staying at the R & R?");
  11. nightsA = keyboard.nextInt(); // Here you define nightsA
  12. } else {
  13. System.out.println("Try one of our other suites. They might suit you better. ");
  14. }
  15. /* if the last if statement has not as yet
  16.   * evaluated as true nightsA is not defined here
  17.   * the compiler realizes this and flags it as an
  18.   * error. Change the line where you declare
  19.   * nightsA to also make it a declaration. i.e.
  20.   * int nightsA = 0;
  21.   * Or, you can set nightsA in the else side of
  22.   * the above if statement.
  23.   */
  24. if (nightsA <= 5 || nightsA >=1) { suiteApricenoDCst = (suiteA * stateTax);
  25. suiteApricenoDCft = (suiteA * federalTax);
  26. suiteApricenoDC = (suiteA + suiteApricenoDCst + suiteApricenoDCft * nightsA); // or here
  27. System.out.println("Your price for your stay is " + suiteApricenoDC);
  28. } else if (nightsA > 5) { // or here
  29. suiteADC = (suiteA * discount);
  30. suiteApriceDCst = (suiteADC * stateTax);
  31. suiteApriceDCft = (suiteADC * federalTax);
  32. suiteApriceDC = (suiteADC + suiteApricenoDCst + suiteApricenoDCft * nightsA);
  33. System.out.println("Your price for your stay is " + suiteApricenoDC);
  34. } else {
  35. System.out.println("ERROR!!!");
  36. }
  37.  
  38. ...
  39.  
  40. }

Like jwenting said, you must explicitly declare all local variables. That means, before your code attempts to do anything with it, it must have appeared on the left side of an equals sign, in such a way so that that line will have executed before anything else is done with the variable.

And, you must do the same sort of thing with every other variable you have declared inside of this method.
Java Programmer and Sun Systems Administrator

----------------------------------------------

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
--Brian Kernighan
Reply With Quote Quick reply to this message  
Join Date: Mar 2007
Posts: 6
Reputation: PCKing is an unknown quantity at this point 
Solved Threads: 0
PCKing PCKing is offline Offline
Newbie Poster

Re: Java program using scanner

 
0
  #10
Mar 6th, 2007
Thanks for answering my question.
Error fixed!
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC