here are the classes for the Computer Management example
Here is the Computer.java class
package com.spconger.www;
public class Computer {
/**
* This class stores information
* about a computer
* steve conger 7/2/2012
*/
//private fields
private int computerID;
private int gigsOfRam;
private int hardDiskSize;
private String brand;
//constructors
public Computer(int ID, int ram, int hd, String name){
setComputerID(ID);
setGigsOfRam(ram);
setHardDiskSize(hd);
setBrandName(name);
}
public Computer(int ID){
setComputerID(ID);
setGigsOfRam(0);
setHardDiskSize(0);
setBrandName("");
}
public Computer(){
setComputerID(0);
setGigsOfRam(0);
setHardDiskSize(0);
setBrandName("");
}
// gets and sets
public void setComputerID(int ID){
computerID=ID;
}
public int getComputerID(){
return computerID;
}
public void setGigsOfRam(int ram){
gigsOfRam=ram;
}
public int getGigsOfRam(){
return gigsOfRam;
}
public void setHardDiskSize(int hdisk){
hardDiskSize=hdisk;
}
public int getHardDiskSize(){
return hardDiskSize;
}
public void setBrandName(String name){
brand=name;
}
public String getBrandName(){
return brand;
}
// public methods
public String getComputerInfo(){
return Integer.toString(computerID) + ", "
+ brand + ", "
+ Integer.toString(gigsOfRam) + ", "
+ Integer.toString(hardDiskSize);
}
}
Here is the ComputerManager.java class
package com.spconger.www;
import java.util.ArrayList;
public class ComputerManager {
/**
* This class manages computers
* it uses an ArrayList to collect computer
* information. The class can return information
* about a particular computer or return
* the average size of hard disks
* the class could do a lot more
* but this is enough for the example
* Steve Conger 7/1/2012
*/
//private fields
private ArrayList<Computer> computers;
//constructor
public ComputerManager(){
//initialize the ArrayList
computers=new ArrayList<Computer>();
}
//public methods
public void AddComputer(Computer c){
//add a computer the the ArrayList
computers.add(c);
}
public String GetComputerById(int ID){
//get a computer by its ID
String computerInfo="computer not found";
for(Computer c: computers){
if(c.getComputerID()==ID){
computerInfo=c.getComputerInfo();
break;
}
}
return computerInfo;
}
public double getAverageHardDiskSize(){
//get the average HardDisk size
//initialize variables
double average=0;
int sum=0;
//for each computer in the ArrayList computers
for(Computer c: computers){
sum += c.getHardDiskSize();
}
//cast sum to double and divide
//size is the length of the array
average=(double)sum/computers.size();
return average;
}
}
Here is the Display.java
package com.spconger.www;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Display {
/**
* This class handles the input and output
* for the Computer and ComputerManager classes
* Steve Conger 7/2/2012
*/
//declare class level variables
ComputerManager cm;
Scanner scan;
//constructor
public Display(){
//initialize classes
scan = new Scanner(System.in);
cm= new ComputerManager();
//call methods
getInputs();
showOutputs();
}
private void getInputs(){
int exit=1;
//loop to enter as many computers as desired
while(exit !=-1){
//get the values
System.out.println("Enter Computer ID");
int id=scan.nextInt();
System.out.println("Hard Disk Size");
int hd=scan.nextInt();
System.out.println("Enter Ram size");
int ram=scan.nextInt();
System.out.println("Enter Computer Brand");
String brandName=scan.next();
//create the computer object and pass it
//the values through the constructor
Computer c = new Computer(id, ram, hd, brandName);
//call the method to add the computer
//to the ArrayList
cm.AddComputer(c);
//prompt for exit
System.out.println("-1 to exit, anything other int to continue");
exit=scan.nextInt();
}//end while
}//end inputs
private void showOutputs(){
//get the outputs
System.out.println("***************************");
System.out.println("Enter a computer id to get Computer");
int id = scan.nextInt();
String info=cm.GetComputerById(id);
System.out.println(info);
System.out.println("the average hard disk space is");
double space = cm.getAverageHardDiskSize();
//Decimal format lets you format the output
//it doesn't change the actual number
DecimalFormat df = new DecimalFormat("#,###.##");
System.out.println(df.format(space));
}
}
Here is Program.java
package com.spconger.www;
public class Program {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Display d = new Display();
}
}
No comments:
Post a Comment