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:
