Lab3

Lab 2 Description:
In Lab 3, I had to use Lab 2 to do this lab. I created 4 classes which were sensor, TemperatureSensor, HumiditySensor, and SensorStatsApp which was my main application. In the Sensor class I created a field called reading and generated the getters and setter method. I than overloaded the setter method by creating multiple with different parameters. I than started working on the TemperatureSensorClass by using the data from lab 2.I also created the Humidity Sensor which were similar to TemperatureSensor.I started working on the SensorStatsApp which is basically the menu or the face of this application. I also added an additional function in Lab 3 that was not done in Lab 2 which was the random option. I used the random generator to generate number in terms to the options that I have given in the menu.
Code:

public class Sensor {

	private int reading;

	public void setReading() // overloaded setReading
	{
		reading = getRandom() * 10;// 0-100
	}

	public void setReading(int u) {
		if (u >= 0 && u <= 100) {
			reading = u * getRandom() / 10;// 0 <= u <= 100.
		} else {
			System.out.println("Error");
		}

	}

	private int getRandom() {
		double a = Math.random() * 10;//
		int b = (int) a;

		return b;
	}

	public void setReading(int I, int u) {// 0 <= l <= u  0 && u  0 && I < 10 && I < u) {

			reading = I + ((u - I) * getRandom()) / 10;

		} else {
			System.out.println("error");
		}
	}

	public int getReading() { // used to return the reading
		return reading;
	}

}

import java.util.Random;
import java.util.Scanner;

public class TemperatureSensor extends Sensor {

	static int simu = 0;
	int sum = 0;
	int average = 0;
	Scanner reader = new Scanner(System.in);
	SensorStatsApp ssa = new SensorStatsApp();

	public void getWinterTemp() {
		try {
			System.out.println("How many simulation do you want?");
			simu = reader.nextInt();
			Random random = new Random();
			int myarray[] = new int[simu];
			// random generator
			for (int i = 0; i < simu; i++) {
				myarray[i] = random.nextInt(21) + 20;// 20-40 (40+1)-20
				// System.out.println(" temperature generated" + myarray[i]);

			}
			System.out.println("Season:Winter");
			System.out.println("First temperature generated" + myarray[0]);
			// finds the mean
			for (int i = 0; i < simu; i++) {
				sum += myarray[i];
			}
			average = sum / simu;
			// finds the highest temperature
			for (int i = 0; i  myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			// find the lowest temperature

			System.out
			.println("Last temperature generated" + myarray[simu - 1]);
			System.out.println("Total sum of all temperatures generated" + sum);
			System.out.println("Average for the season" + average);
			System.out.println("Highest temperature generated" + myarray[0]);
			myarray[0] = myarray[0];
			for (int i = 0; i < simu; i++) {
				if (myarray[i] < myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			System.out.println("Lowest temperature generated" + myarray[0]);
		} catch (Exception e) {
			System.out.println("Error Message");
		}
	}

	public void getSummerTemp() {
		try {
			System.out.println("How many simulation do you want?");
			simu = reader.nextInt();
			Random random = new Random();
			int myarray[] = new int[simu];
			// random generator
			for (int i = 0; i < simu; i++) {
				myarray[i] = random.nextInt(21) + 70;
				// System.out.println(" temperature generated"+ myarray[i]);
			}
			System.out.println("Season:Summer");
			System.out.println("First temperature generated" + myarray[0]);
			// finds the mean
			for (int i = 0; i < simu; i++) {
				sum += myarray[i];
			}
			average = sum / simu;
			// finds the highest temperature
			for (int i = 0; i  myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			// find the lowest temperature

			System.out
			.println("Last temperature generated" + myarray[simu - 1]);
			System.out.println("Total sum of all temperatures generated" + sum);
			System.out.println("Average for the season" + average);
			System.out.println("Highest temperature generated" + myarray[0]);
			myarray[0] = myarray[0];
			for (int i = 0; i < simu; i++) {
				if (myarray[i] < myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			System.out.println("Lowest temperature generated \n" + myarray[0]);
		} catch (Exception e) {
			System.out.println("Error Message");
		}

	}

	public void getFallTemp() {
		try {
			System.out.println("How many simulation do you want?");
			simu = reader.nextInt();
			Random random = new Random();
			int myarray[] = new int[simu];
			// random generator
			for (int i = 0; i < simu; i++) {
				myarray[i] = random.nextInt(21) + 40;
				// System.out.println(" temperature generated"+ myarray[i]);
			}
			System.out.println("Season:Fall");
			System.out.println("First temperature generated" + myarray[0]);
			// finds the mean
			for (int i = 0; i < simu; i++) {
				sum += myarray[i];
			}
			average = sum / simu;
			// finds the highest temperature
			for (int i = 0; i  myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			// find the lowest temperature

			System.out
			.println("Last temperature generated" + myarray[simu - 1]);
			System.out.println("Total sum of all temperatures generated" + sum);
			System.out.println("Average for the season" + average);
			System.out.println("Highest temperature generated" + myarray[0]);
			myarray[0] = myarray[0];
			for (int i = 0; i < simu; i++) {
				if (myarray[i] < myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			System.out.println("Lowest temperature generated \n" + myarray[0]);
		} catch (Exception e) {
			System.out.println("Error Message");
		}

	}

	public void getSpringTemp() {
		try {
			System.out.println("How many simulation do you want?");
			simu = reader.nextInt();
			Random random = new Random();
			int myarray[] = new int[simu];
			// random generator
			for (int i = 0; i < simu; i++) {
				myarray[i] = random.nextInt(31) + 40;
				// System.out.println(" temperature generated"+ myarray[i]);
			}
			System.out.println("Season:Spring");
			System.out.println("First temperature generated" + myarray[0]);
			// finds the mean
			for (int i = 0; i < simu; i++) {
				sum += myarray[i];
			}
			average = sum / simu;
			// finds the highest temperature
			for (int i = 0; i  myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			// find the lowest temperature

			System.out
			.println("Last temperature generated" + myarray[simu - 1]);
			System.out.println("Total sum of all temperatures generated" + sum);
			System.out.println("Average for the season" + average);
			System.out.println("Highest temperature generated" + myarray[0]);
			myarray[0] = myarray[0];
			for (int i = 0; i < simu; i++) {
				if (myarray[i] < myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			System.out.println("Lowest temperature generated \n" + myarray[0]);
		} catch (Exception e) {
			System.out.println("Error Message");
		}
	}
}

import java.util.Random;
import java.util.Scanner;

public class HumiditySensor extends Sensor {
	TemperatureSensor temp = new TemperatureSensor();
	int simu = TemperatureSensor.simu;

	int sum = 0;
	int average = 0;
	Scanner reader = new Scanner(System.in);
	SensorStatsApp ssa = new SensorStatsApp();

	public void getHumidity() {
		try {
			// System.out.println("How many simulation do you want?");
			simu = TemperatureSensor.simu;
			Random random = new Random();
			int myarray[] = new int[simu];
			// random generator
			for (int i = 0; i < simu; i++) {
				myarray[i] = random.nextInt(101) + 0;// 20-40 (40+1)-20 0-100
				// (100+1)
				// System.out.println(" temperature generated" + myarray[i]);

			}
			System.out.println("\n Humidity:Full");
			System.out.println("First Humidity generated" + myarray[0]);
			// finds the mean
			for (int i = 0; i < simu; i++) {
				sum += myarray[i];
			}
			average = sum / simu;
			// finds the highest temperature
			for (int i = 0; i  myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			// find the lowest temperature

			System.out.println("Last Humidity generated" + myarray[simu - 1]);
			System.out.println("Total sum of all Humidity generated" + sum);
			System.out.println("Average Humidity Reading" + average);
			System.out.println("Highest Humidity generated" + myarray[0]);
			myarray[0] = myarray[0];
			for (int i = 0; i < simu; i++) {
				if (myarray[i] < myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			System.out.println("Lowest Humidity generated" + myarray[0]);
		} catch (Exception e) {
			System.out.println("Error Message");
		}
	}

	public void getLowHumidity() {
		try {
			simu = TemperatureSensor.simu;
			Random random = new Random();
			int myarray[] = new int[simu];
			// random generator
			for (int i = 0; i < simu; i++) {
				myarray[i] = random.nextInt(51) + 0;
				// System.out.println(" temperature generated"+ myarray[i]);
			}
			System.out.println("Humidity:Low");
			System.out.println("First Humidity generated" + myarray[0]);
			// finds the mean
			for (int i = 0; i < simu; i++) {
				sum += myarray[i];
			}
			average = sum / simu;
			// finds the highest temperature
			for (int i = 0; i  myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			// find the lowest temperature

			System.out.println("Last Humidity generated" + myarray[simu - 1]);
			System.out.println("Total sum of all Humidity generated" + sum);
			System.out.println("Average Humidity reading" + average);
			System.out.println("Highest Humidity generated" + myarray[0]);
			myarray[0] = myarray[0];
			for (int i = 0; i < simu; i++) {
				if (myarray[i] < myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			System.out.println("Lowest Humidity generated" + myarray[0]);
		} catch (Exception e) {
			System.out.println("Error Message");
		}

	}

	public void getHighHumidity() {
		try {
			simu = TemperatureSensor.simu;
			Random random = new Random();
			int myarray[] = new int[simu];
			// random generator
			for (int i = 0; i < simu; i++) {
				myarray[i] = random.nextInt(51) + 50;// 50-100 (100+1)-50
				// System.out.println(" temperature generated"+ myarray[i]);
			}
			System.out.println("humidity:High");
			System.out.println("First Humidity generated" + myarray[0]);
			// finds the mean
			for (int i = 0; i < simu; i++) {
				sum += myarray[i];
			}
			average = sum / simu;
			// finds the highest temperature
			for (int i = 0; i  myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			// find the lowest temperature

			System.out.println("Last Humidity generated" + myarray[simu - 1]);
			System.out.println("Total sum of all humidity generated" + sum);
			System.out.println("Average Humidity reading" + average);
			System.out.println("Highest humidity generated" + myarray[0]);
			myarray[0] = myarray[0];
			for (int i = 0; i < simu; i++) {
				if (myarray[i] < myarray[0]) {
					myarray[0] = myarray[i];
				}
			}
			System.out.println("Lowest humidity generated" + myarray[0]);
		} catch (Exception e) {
			System.out.println("Error Message");
		}

	}

}
import java.util.*;

public class SensorStatsApp {

	public static void main(String[] args) {

		try {

			int season;
			int humidity;

			@SuppressWarnings("resource")
			Scanner reader = new Scanner(System.in);
			do {

				System.out.println("Select Season");
				System.out
				.println("(1) Winter (2) Summer (3) Fall (4) Spring (5)random (0) Exit");
				season = reader.nextInt();
				System.out.println("Select Humidity");
				System.out
				.println("(1) full range (2) low (3) High (4) random (0) Exit");
				humidity = reader.nextInt();
				TemperatureSensor mytemp = new TemperatureSensor();

				HumiditySensor myhumid = new HumiditySensor(); // new object
				if (season == 1) { // if and else statemnet for menu
					mytemp.getWinterTemp();
				} else if (season == 2) {
					mytemp.getSummerTemp();
				} else if (season == 3) {
					mytemp.getFallTemp();
				} else if (season == 4) {
					mytemp.getSpringTemp();
				} else if (season == 5) {// this generates random decision

					Random random = new Random();// random object
					int myarray[] = new int[season];
					// random generator
					for (int i = 0; i  6) {
					System.out.println("Error Message");// > 6 gives the user
					// error message
				}

				if (humidity == 1) {
					myhumid.getHumidity();

				} else if (humidity == 2) {
					myhumid.getLowHumidity();
				} else if (humidity == 3) {
					myhumid.getHighHumidity();
				} else if (humidity == 4) {// this option generates randomly

					Random random = new Random();
					int myarray2[] = new int[season];
					// random generator
					for (int i = 0; i  4) {
					System.out.println("Error Message");// same error message
					// given if exceeds
				}

			} while (season != 0);

		}

		catch (Exception e) {

			System.out.println("Error Message");

		}

	}

}

Screenshots:

lab3

Leave a Reply