Re: ENUMs
Jeff Higgins wrote:
John T wrote:
I'm going to try to create a Platoon now. Wish me luck!!
Good Luck!
Here's the code that I wrote to create a Platoon:
package militaryStructure;
import java.util.ArrayList;
public class CreateAPlatoon {
public static void main(String [] args) {
Platoon p1;
Squad s1;
Squad s2;
Squad s3;
// Platoon leader is a Lietenant
Soldier l1 = new Soldier("Markus Smart", Rank.FIRST_LIEUTENANT, 90036);
// Platoon NCO is a first sergeant
Soldier nco1 = new Soldier("Bert Barker", Rank.FIRST_SERGEANT, 98322);
// Now create 3 soldiers to command the squads
Soldier ss1 = new Soldier("Geoff Marshall", Rank.STAFF_SERGEANT, 87231);
Soldier sgt1 = new Soldier("Harry Smart", Rank.SERGEANT, 88732);
Soldier ss2 = new Soldier("Greg Harken", Rank.STAFF_SERGEANT, 993222);
ArrayList<Soldier> a1 = new ArrayList<Soldier>();
ArrayList<Soldier> a2 = new ArrayList<Soldier>();
ArrayList<Soldier> a3 = new ArrayList<Soldier>();
a1.add(new Soldier("Yanik Hurith", Rank.RECRUIT, 001));
a1.add(new Soldier("Valdi Linksh", Rank.SERGEANT, 002));
a1.add(new Soldier("Raj Majoniki", Rank.SPECIALIST, 003));
a1.add(new Soldier("John Wilson", Rank.PRIVATE, 004));
a1.add(new Soldier("Kerri Vagner", Rank.PFC, 005));
a1.add(new Soldier("Walter Konig", Rank.SERGEANT, 006));
a1.add(new Soldier("Xavier Lopez", Rank.RECRUIT, 007));
a1.add(new Soldier("Fred Peritzi", Rank.PFC, 8));
a2.add(new Soldier("Tony Umrella", Rank.CORPORAL, 9));
a2.add(new Soldier("Andrew Parks", Rank.PRIVATE, 010));
a2.add(new Soldier("Bert Hankini", Rank.CORPORAL, 011));
a2.add(new Soldier("Leon Tolstoy", Rank.SERGEANT, 012));
a2.add(new Soldier("Kathy Sierra", Rank.STAFF_SERGEANT, 013));
a2.add(new Soldier("Amanda Burke", Rank.STAFF_SERGEANT, 014));
a2.add(new Soldier("Sherly Crown", Rank.PFC, 015));
a2.add(new Soldier("Gina Wilson", Rank.RECRUIT, 016));
a3.add(new Soldier("Larry Jones", Rank.CORPORAL, 017));
a3.add(new Soldier("Kevin Portin", Rank.PFC, 1018));
a3.add(new Soldier("Mike Michaels", Rank.SPECIALIST, 2223));
a3.add(new Soldier("Yuri Sharpnel", Rank.STAFF_SERGEANT, 53252));
a3.add(new Soldier("Linus Tolberg", Rank.PRIVATE, 1342311));
a3.add(new Soldier("Krandal Marks", Rank.RECRUIT, 1932211));
a3.add(new Soldier("Inka Swingle", Rank.SERGEANT, 87372));
a3.add(new Soldier("Cameron Clancy", Rank.PFC, 13211));
// now construct 3 squads
s1 = new Squad(ss1, a1);
s2 = new Squad(sgt1, a2);
s3 = new Squad(ss2, a3);
ArrayList<Squad> platoon = new ArrayList<Squad>();
platoon.add(s1);
platoon.add(s2);
platoon.add(s3);
// now construct the platoon
p1 = new Platoon(l1, nco1, platoon );
p1.displayPlatoon();
}
}
Here's the Platoon class
package militaryStructure;
import java.util.ArrayList;
public class Platoon {
Soldier CommandingOfficer;
Soldier SecondInCommand;
ArrayList<Squad> Platoon = new ArrayList<Squad>();
public Platoon(Soldier commandingOfficer, Soldier secondInCommand,
ArrayList<Squad> platoon) {
CommandingOfficer = commandingOfficer;
SecondInCommand = secondInCommand;
Platoon = platoon;
}
public void displayPlatoon()
{
System.out.println("Platoon CO: " + this.CommandingOfficer.getName() +
" " + this.CommandingOfficer.getRank() + " " +
this.CommandingOfficer.getSerialNumber());
System.out.println("Platoon Second in command: " +
this.SecondInCommand.getName() + " " +
this.SecondInCommand.getRank() + " " +
this.SecondInCommand.getSerialNumber());
for (int i=0;i<=this.Platoon.size()-1;i++) {
System.out.println("Squad number: " + (i+1));
System.out.println("Commanding Officer: " +
this.Platoon.get(i).CommandingOfficer.getName());
Squad s = this.Platoon.get(i);
for (int j=0;j<=s.roster.size()-1;j++) {
Soldier sd1 = s.roster.get(j);
System.out.println("General roster soldier number: " + j);
sd1.displaySoldier();
}
}
}
}
Here's the squad class
package militaryStructure;
import java.util.ArrayList;
public class Squad {
Soldier CommandingOfficer;
ArrayList<Soldier> roster = new ArrayList<Soldier>();
public Squad(Soldier commandingOfficer, ArrayList<Soldier> squad) {
CommandingOfficer = commandingOfficer;
roster = squad;
}
}
And here's the soldier class
package militaryStructure;
public class Soldier {
private String name;
private Rank rank;
private int serialNumber;
public Soldier(String name, Rank rank2, int serialNumber) {
this.name = name;
this.rank = rank2;
this.serialNumber = serialNumber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Rank getRank() {
return rank;
}
public void setRank(Rank rank) {
this.rank = rank;
}
public int getSerialNumber() {
return serialNumber;
}
public void promote(Rank rank) {
Rank newRank = rank.promote();
this.setRank(newRank);
}
public void displaySoldier() {
System.out.println("Name " + name);
System.out.println("Rank " + getRank());
System.out.println("Serial Number " + getSerialNumber());
}
}
When I run createPlatoon, I get
Platoon CO: Markus Smart FIRST_LIEUTENANT 90036
Platoon Second in command: Bert Barker FIRST_SERGEANT 98322
Squad number: 1
Commanding Officer: Geoff Marshall
General roster soldier number: 0
Name Yanik Hurith
Rank RECRUIT
Serial Number 1
General roster soldier number: 1
Name Valdi Linksh
Rank SERGEANT
Serial Number 2
General roster soldier number: 2
Name Raj Majoniki
Rank SPECIALIST
Serial Number 3
General roster soldier number: 3
Name John Wilson
Rank PRIVATE
Serial Number 4
General roster soldier number: 4
Name Kerri Vagner
Rank PFC
Serial Number 5
General roster soldier number: 5
Name Walter Konig
Rank SERGEANT
Serial Number 6
General roster soldier number: 6
Name Xavier Lopez
Rank RECRUIT
Serial Number 7
General roster soldier number: 7
Name Fred Peritzi
Rank PFC
Serial Number 8
Squad number: 2
Commanding Officer: Harry Smart
General roster soldier number: 0
Name Tony Umrella
Rank CORPORAL
Serial Number 9
General roster soldier number: 1
Name Andrew Parks
Rank PRIVATE
Serial Number 8
General roster soldier number: 2
Name Bert Hankini
Rank CORPORAL
Serial Number 9
General roster soldier number: 3
Name Leon Tolstoy
Rank SERGEANT
Serial Number 10
General roster soldier number: 4
Name Kathy Sierra
Rank STAFF_SERGEANT
Serial Number 11
General roster soldier number: 5
Name Amanda Burke
Rank STAFF_SERGEANT
Serial Number 12
General roster soldier number: 6
Name Sherly Crown
Rank PFC
Serial Number 13
General roster soldier number: 7
Name Gina Wilson
Rank RECRUIT
Serial Number 14
Squad number: 3
Commanding Officer: Greg Harken
General roster soldier number: 0
Name Larry Jones
Rank CORPORAL
Serial Number 15
General roster soldier number: 1
Name Kevin Portin
Rank PFC
Serial Number 1018
General roster soldier number: 2
Name Mike Michaels
Rank SPECIALIST
Serial Number 2223
General roster soldier number: 3
Name Yuri Sharpnel
Rank STAFF_SERGEANT
Serial Number 53252
General roster soldier number: 4
Name Linus Tolberg
Rank PRIVATE
Serial Number 1342311
General roster soldier number: 5
Name Krandal Marks
Rank RECRUIT
Serial Number 1932211
General roster soldier number: 6
Name Inka Swingle
Rank SERGEANT
Serial Number 87372
General roster soldier number: 7
Name Cameron Clancy
Rank PFC
Serial Number 13211
Which tells me that what I am doing is working. It may not be pretty.
I hate all the code I have to write to create a Squad. Of course in the
real world, unless you come in via Officer's school, you start as a
recruit or Private right?.... hypothetical question...
Anyway....I don't want this thread to turn into the same type as last
time, so if no one minds, I'm declaring it dead... I will continue my
studies.