import java.util.Scanner; public class FivePets { // constant for max private st
ID: 3536134 • Letter: I
Question
import java.util.Scanner;
public class FivePets
{
// constant for max
private static final int MAX_PETS = 5;
// var declaration
private static String petName;
private static int petAge;
private static double petWeight;
private static String smallestPet;
private static String largestPet;
private static String oldestPet;
private static String youngestPet;
private static int oldAge;
private static int youngAge;
private static double smallWeight;
private static double largeWeight;
private static int ageSum;
private static double weightSum;
private static double ageAverage;
private static double weightAverage;
private static Scanner input; // for input
// main method
public static void main(String[] args)
{
//create object
input = new Scanner(System.in);
// object for pet class
Pet pet = new Pet (petName, petAge, petWeight);
//initialize the values
smallestPet = pet.getName();
largestPet = pet.getName();
oldestPet = pet.getName();
youngestPet = pet.getName();
ageSum = pet.getAge();
weightSum = pet.getWeight();
oldAge = pet.getAge();
youngAge = pet.getAge();
smallWeight = pet.getWeight();
largeWeight = pet.getWeight();
//repeat 4 times
for(int i = 1; i<MAX_PETS; i++)
{
//calls getData method
getData(i);
//object for 2nd pet class
pet = new Pet(petName, petAge, petWeight);
//calls findDetails
findDetails(pet);
}
// call findAverageAge
findAverageAge();
//call findAverageWeight
findAverageWeight();
//call display
displayDetails();
}
// method for users
private static void findDetails(Pet pet);
{
// determin young
if(pet.getAge() < youngAge)
{
youngPet = pet.getName();
youngAge = pet.getAge();
}
else if(pet.getAge() > oldAge)
{
oldestPet = pet.getName();
oldAge = pet.getAge();
}
//determins small and largest weight
if(pet.getWeight() < smallWeight)
{
smallPet = pet.getName();
smallWeight = pet.getWeight();
}
else if(pet.getAge() > largeWeight)
{
largestPet = pet.getName();
largeWeight = pet.getWeight();
}
// sum of ages
ageSum += pet.getAge();
//sum of weights
weightSum += pet.getWeight();
}
//calculates average age
private static void findAverageAge()
{
ageAverage = ((double)ageSum) / MAX_PETS;
}
//displays details
private static void displayDetails()
{
System.out.println("Name of the smallest pet: " + smallestPet);
System.out.println("Name of the largest pet: " + largestPet);
System.out.println("Nsme of the oldest pet: " + oldestPet);
System.out.println("Name of the youngest pet: " + youngestPet);
System.out.println("Average weight of the five pets: " + weightAverage);
System.out.println("Average age of the five pets: " + ageAverage);
}
}
public class Pet
{
//attributes
private String name;
private int age;
private double weight;
// constructors defult
public Pet()
{
name = "No name yet.";
age = 0;
weight = 0;
}
//constroctors for all att
public Pet(String initialName, int initialAge, double initialWeight)
{
name = initialName;
if((initialAge < 0) || (initialWeight < 0))
{
System.out.println("Error: Negative age or weight.");
System.exit(0);
}
else
{
age = initialAge;
weight = initialWeight;
}
}
//constructor with name
public Pet(String initialName)
{
name = initialName;
age = 0;
weight = 0;
}
// contructor with age
public Pet(int initialAge)
{
name = "No name yet.";
weight = 0;
if(initialAge < 0)
{
System.out.println("Error: Negative age.");
System.exit(0);
}
else
age = initialAge;
}
// constructor with weight
public Pet(double initialWeight)
{
name = "No name yet.";
age = 0;
if(initialWeight < 0)
{
System.out.println("Error: Negative Weight.");
System.exit(0);
}
else
weight = initialWeight;
}
// setPet method
public void setPet(String newName, int newAge, double newWeight)
{
name = newName;
if((newAge < 0) || (newWeight <0))
{
System.out.println("Error: Negative age or weight.");
System.exit(0);
}
else
{
age = newAge;
weight = newWeight;
}
}
// setName method
public void setName(String newName)
{
name = newName;
}
//setAge method
public void setAge(int newAge)
{
if(newAge < 0)
{
System.out.println("Error: Negative age.");
System.exit(0);
}
else
age = newAge;
}
//setWeight method
public void setWeight(double newWeight)
{
if(newWeight < 0)
{
System.out.println("Error: Negative age or weight.");
System.exit(0);
}
else
weight = newWeight;
}
//getName method
public String getName()
{
return name;
}
//getWeight method
public double getWeight()
{
return weight;
}
public void writeOutput()
{
System.out.println("Name: " + name);
System.out.println("Age: " + age+ "years");
System.out.println("Weight: " + weight + "pounds");
}
}
Explanation / Answer
import java.util.*;
public class Pet
{
//attributes
private String name;
private int age;
private double weight;
// constructors defult
public Pet()
{
name = "No name yet.";
age = 0;
weight = 0;
}
//constroctors for all att
public Pet(String initialName, int initialAge, double initialWeight)
{
name = initialName;
if((initialAge < 0) || (initialWeight < 0))
{
System.out.println("Error: Negative age or weight.");
System.exit(0);
}
else
{
age = initialAge;
weight = initialWeight;
}
}
//constructor with name
public Pet(String initialName)
{
name = initialName;
age = 0;
weight = 0;
}
// contructor with age
public Pet(int initialAge)
{
name = "No name yet.";
weight = 0;
if(initialAge < 0)
{
System.out.println("Error: Negative age.");
System.exit(0);
}
else
age = initialAge;
}
// constructor with weight
public Pet(double initialWeight)
{
name = "No name yet.";
age = 0;
if(initialWeight < 0)
{
System.out.println("Error: Negative Weight.");
System.exit(0);
}
else
weight = initialWeight;
}
// setPet method
public void setPet(String newName, int newAge, double newWeight)
{
name = newName;
if((newAge < 0) || (newWeight <0))
{
System.out.println("Error: Negative age or weight.");
System.exit(0);
}
else
{
age = newAge;
weight = newWeight;
}
}
// setName method
public void setName(String newName)
{
name = newName;
}
//setAge method
public void setAge(int newAge)
{
if(newAge < 0)
{
System.out.println("Error: Negative age.");
System.exit(0);
}
else
age = newAge;
}
//setWeight method
public void setWeight(double newWeight)
{
if(newWeight < 0)
{
System.out.println("Error: Negative age or weight.");
System.exit(0);
}
else
weight = newWeight;
}
//getName method
public String getName()
{
return name;
}
//getWeight method
public double getWeight()
{
return weight;
}
public void writeOutput()
{
System.out.println("Name: " + name);
System.out.println("Age: " + age+ "years");
System.out.println("Weight: " + weight + "pounds");
}
public int getAge()
{
return age;
}
}
public class Main
{
// constant for max
private static final int MAX_PETS = 5;
// var declaration
private static String petName;
private static int petAge;
private static double petWeight;
private static String smallestPet;
private static String largestPet;
private static String oldestPet;
private static String youngestPet;
private static int oldAge;
private static int youngAge;
private static double smallWeight;
private static double largeWeight;
private static int ageSum;
private static double weightSum;
private static double ageAverage;
private static double weightAverage;
private static Scanner input; // for input
// main method
public static void main(String[] args)
{
//create object
input = new Scanner(System.in);
petName = "first";
petAge = 1;
petWeight = 2;
// object for pet class
Pet pet = new Pet (petName, petAge, petWeight);
//initialize the values
smallestPet = pet.getName();
largestPet = pet.getName();
oldestPet = pet.getName();
youngestPet = pet.getName();
ageSum = pet.getAge();
weightSum = pet.getWeight();
oldAge = pet.getAge();
youngAge = pet.getAge();
smallWeight = pet.getWeight();
largeWeight = pet.getWeight();
//repeat 4 times
for(int i = 1; i<MAX_PETS; i++)
{
//calls getData method
getData(i);
//object for 2nd pet class
pet = new Pet(petName, petAge, petWeight);
//calls findDetails
findDetails(pet);
}
// call findAverageAge
findAverageAge();
//call findAverageWeight
findAverageWeight();
//call display
displayDetails();
}
// method for users
private static void findDetails(Pet pet)
{
// determin young
if(pet.getAge() < youngAge)
{
youngestPet = pet.getName();
youngAge = pet.getAge();
}
else if(pet.getAge() > oldAge)
{
oldestPet = pet.getName();
oldAge = pet.getAge();
}
//determins small and largest weight
if(pet.getWeight() < smallWeight)
{
smallestPet = pet.getName();
smallWeight = pet.getWeight();
}
else if(pet.getAge() > largeWeight)
{
largestPet = pet.getName();
largeWeight = pet.getWeight();
}
// sum of ages
ageSum += pet.getAge();
//sum of weights
weightSum += pet.getWeight();
}
//calculates average age
private static void findAverageAge()
{
ageAverage = ((double)ageSum) / MAX_PETS;
}
private static void findAverageWeight()
{
weightAverage = ((double)weightSum) / (double)MAX_PETS;
}
//displays details
private static void displayDetails()
{
System.out.println("Name of the smallest pet: " + smallestPet);
System.out.println("Name of the largest pet: " + largestPet);
System.out.println("Nsme of the oldest pet: " + oldestPet);
System.out.println("Name of the youngest pet: " + youngestPet);
System.out.println("Average weight of the five pets: " + weightAverage);
System.out.println("Average age of the five pets: " + ageAverage);
}
public static void getData(int i)
{
System.out.println(" enter name of pet " + i);
petName = input.next();
System.out.println(" enter age of pet " + i);
petAge = input.nextInt();
System.out.println(" enter weight of pet " + i);
petWeight = input.nextDouble();
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.