Programming Fundamentals/Object Examples Java

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Objects[edit]

// This program creates instances of the Temperature class to convert Celsius 
// and Fahrenheit temperatures.
//
// References:
//     https://www.mathsisfun.com/temperature-conversion.html
//     https://en.wikibooks.org/wiki/Java_Programming

import java.util.*;

class Main {
    public static void main(String[] args) {
        Temperature temp1 = new Temperature();
        temp1.setCelsius(100.0);
        System.out.println("temp1.celsius = " + temp1.getCelsius().toString());
        System.out.println("temp1.fahrenheit = " + temp1.getFahrenheit().toString());
        System.out.println("");
        
        Temperature temp2 = new Temperature();
        temp2.setFahrenheit(100.0);
        System.out.println("temp2.fahrenheit = " + temp2.getFahrenheit().toString());
        System.out.println("temp2.celsius = " + temp2.getCelsius().toString());
    }
}

// This class converts temperature between Celsius and Fahrenheit.
// It may be used by assigning a value to either Celsius or Fahrenheit 
// and then retrieving the other value, or by calling the ToCelsius or
// ToFahrenheit methods directly.

class Temperature {
    Double celsius;
    Double fahrenheit;

    public Double getCelsius() {
        return celsius;
    }
    
    public void setCelsius(Double value) {
        celsius = value;
        fahrenheit = toFahrenheit(celsius);
    }

    public Double getFahrenheit() {
        return fahrenheit;
    }
    
    public void setFahrenheit(Double value) {
        fahrenheit = value;
        celsius = toCelsius(fahrenheit);
    }

    public Double toCelsius(Double fahrenheit) {
        return (fahrenheit - 32) * 5 / 9;
    }
    
    public Double toFahrenheit(Double celsius) {
        return celsius * 9 / 5 + 32;
    }
}

Output[edit]

temp1.celsius = 100.0
temp1.fahrenheit = 212.0

temp2.fahrenheit = 100.0
temp2.celsius = 37.77777777777778

References[edit]