title: Class Declarations for temperature program in Java
body: <p>So this is the problem I'm having I need to input these five methods: </p>
  
  <ul>
  <li>Temperature – a constructor method. This should set the initial temperature to 100.</li>
  <li>getTemp – a method to return the current stored value of degrees Celsius</li>
  <li>convertToF – a method to convert a Celsius temperature to degrees Fahrenheit</li>
  <li>convertToK – a method to convert a Celsius temperature to degrees Kelvin</li>
  <li>updateTempC – a method to update the stored temperature in degrees Celsius</li>
  </ul>
  
  <p>into this program: </p>
  
  <pre><code>import java.util.Scanner;
  
  public class TempProg {
  
  
  
  public static void main(String[] args)
  {
  
      // Declare objects
      Scanner scan = new Scanner(System.in);
      Temperature tempConv = new Temperature();
  
      // Declare variables
      int newTemp;
      boolean entryValid;
  
      // Declare constants
      final int MIN_TEMP = -273;
      final int MAX_TEMP = 10000;
  
      System.out.println("\tTemperature converter");
  
      // Set a dummy selection value, so that we always show the options on the first go
      char selection = 'x';
  
      // Offer a list of options
      while (selection != 'q') { 
          System.out.println("\n\tCurrent temperature in degrees C: " + tempConv.getTemp());
          System.out.println("\tType f to display temperature in Fahrenheit");
          System.out.println("\tType k to display temperature in Kelvin");
          System.out.println("\tType c to set a new temperature");
          System.out.println("\tType q to quit");
  
          // Read from the keyboard
          selection = scan.next().charAt(0);
  
  
          // Act on the selection
          switch(selection) {
              case 'f': // Print Fahrenheit version
                  System.out.println("\n\t" +tempConv.getTemp()+ " degrees C = "+tempConv.convertToF() +" degrees F" );
                  break;
  
              case 'k': // Print Kelvin version 
                  System.out.println("\n\t" +tempConv.getTemp()+ " degrees C = "+tempConv.convertToK() +" degrees K" );
                  break;
  
              case 'c': // Get a new temperature
  
                  entryValid=false; // Reset entryValid for this round
  
                  /* test for !entryValid
                   * i.e. "not entryValid"
                   * i.e. same as "entryValid == false"
                   */
  
                  while (!entryValid) { // This will always be true the first time
                      System.out.print("\n\tPlease enter a new temperature: ");
                      newTemp = scan.nextInt();
  
                      // Check validity of new temperature
                      if (newTemp &lt; MIN_TEMP || newTemp &gt; MAX_TEMP) {
                          System.out.println("\tPlease enter a valid temperature");
                      } else {
                          entryValid=true;
                          tempConv.updateTempC(newTemp);
                      }
                  }
  
                  break;
  
              case 'q': // Don't do anything for q, we print a message later
                  break;
  
              default: // If it is not f, k, c or q then default is error message
                  System.out.println("\n\tOption " + selection + " not understood");
          }
      }
      System.out.println("\n\tPROGRAM ENDED");
  }
  }
  </code></pre>
  
  <p>and this is what I have so far...</p>
  
  <pre><code>private double Temperature (double currentTemp)
      {
          currentTemp = 100;
          return currentTemp;
  
      }
  
      public double convertToF (double TempF)
      {
          TempF = ((9 * currentTemp) / 5 ) + 32;
          return TempF();
      }
  
      public double convertToK (double TempK)
      {
          TempK = currentTemp + 273;
          return TempK();
      }
  
      public void updateTempC (double currentTemp)
      {
          newTemp = currentTemp;
  
          return currentTemp();
      }
  
      public double getTemp()
      {
          return currentTemp;
       }
  </code></pre>
  
  <p>it is basically won't compile and I'm 99% sure it's very wrong and I literally have no idea what to do... thoughts... suggestions?</p>
  
  <p>and errors are:</p>
  
  <pre><code>    tempProg.java:14: error: class TempProg is public, should be declared in a file named            TempProg.java
  public class TempProg {
         ^
      tempProg.java:26: error: cannot find symbol
              TempF = ((9 * currentTemp) / 5 ) + 32;
                            ^
    symbol:   variable currentTemp
    location: class TempProg
      tempProg.java:27: error: cannot find symbol
              return TempF();
                     ^
    symbol:   method TempF()
    location: class TempProg
      tempProg.java:32: error: cannot find symbol
              TempK = currentTemp + 273;
                      ^
    symbol:   variable currentTemp
    location: class TempProg
      tempProg.java:33: error: cannot find symbol
              return TempK();
                     ^
    symbol:   method TempK()
    location: class TempProg
      tempProg.java:38: error: cannot find symbol
              newTemp = currentTemp;
              ^
    symbol:   variable newTemp
    location: class TempProg
      tempProg.java:40: error: cannot return a value from method whose result type is void
              return currentTemp();
                                ^
      tempProg.java:45: error: cannot find symbol
              return currentTemp;
                     ^
    symbol:   variable currentTemp
    location: class TempProg
      tempProg.java:54: error: cannot find symbol
          Temperature tempConv = new Temperature();
          ^
    symbol:   class Temperature
    location: class TempProg
      tempProg.java:54: error: cannot find symbol
          Temperature tempConv = new Temperature();
                                     ^
    symbol:   class Temperature
    location: class TempProg
  </code></pre>