HolgerL Skrevet 26. januar 2006 Skrevet 26. januar 2006 (endret) package oving2; public class NameUtil { // Metode for å normalisere navn public static String normalize(String raaNavn){ // Gjør om navn til lower case String lowcaseNavn = raaNavn.toLowerCase(); // Splitter opp strengen i en tabell splitNavn String[] splitNavn; splitNavn = lowcaseNavn.split(" "); // Løkke for å fikse store forbokstaver i hver tabellcelle for(int i = 0; i < splitNavn.length; i++){ //Hente ut forbokstav i tabellcellen String forbokstav = splitNavn.substring(0, 1); // Hente ut de andre bokstavene i tabellcellen String andrebokstaver = splitNavn.substring(1, splitNavn.length()); // Gjøre om forbokstav til upper case forbokstav = forbokstav.toUpperCase(); // Sette sammen stor forbokstav og resten i cellen igjen splitNavn = forbokstav + andrebokstaver; } // Setter inn siste navnet (etternavnet) først i det ferdige navnet ferdigNavn // med et komma og et mellomrom String ferdigNavn = splitNavn[splitNavn.length - 1] + ", "; // Setter inn alle for- og mellomnavnene utenom det siste // for- eller mellomnavnet i ferdigNavn med mellomrom etter for(int i = 0; i < splitNavn.length - 2; i++){ ferdigNavn += splitNavn + " "; } // Setter inn det siste for- eller mellomnavnet uten mellomrom etter ferdigNavn += splitNavn[splitNavn.length - 2]; // Returnerer ferdig navn return ferdigNavn; } public static void main(String[] args) { // Lager en streng med et navn som blir normalisert av metoden normalize String s = normalize("Per petTer gUnnar Pettersen"); // Skriver ut den normaliserte strengen System.out.println(s); } } Endret 27. januar 2006 av HolgerLudvigsen
HolgerL Skrevet 26. januar 2006 Forfatter Skrevet 26. januar 2006 (endret) package oving2; public class Person { // Lager variabler for bruk String name; Person mother; Person father; Person[] children = new Person[2]; public static Person createRoyalFamily(){ // Lager alle personene som objekter Person Harald = new Person(); Person Sonja = new Person(); Person Haakon = new Person(); Person Martha = new Person(); Person MetteMarit = new Person(); Person Ari = new Person(); Person Ingrid = new Person(); Person Sverre = new Person(); Person Maud = new Person(); Person Leah = new Person(); // Setter inn data Harald.name = "Harald"; Harald.children[0] = Haakon; Harald.children[1] = Martha; Sonja.name = "Sonja"; Sonja.children[0] = Haakon; Sonja.children[1] = Martha; Haakon.name = "Haakon"; Haakon.father = Harald; Haakon.mother = Sonja; Haakon.children[0] = Ingrid; Haakon.children[1] = Sverre; Martha.name = "Märtha"; Martha.father = Harald; Martha.mother = Sonja; Martha.children[0] = Maud; Martha.children[1] = Leah; MetteMarit.children[0] = Ingrid; MetteMarit.children[1] = Sverre; Ari.children[0] = Maud; Ari.children[1] = Leah; Ingrid.father = Haakon; Ingrid.mother = MetteMarit; Sverre.father = Haakon; Sverre.mother = MetteMarit; Maud.father = Ari; Maud.mother = Martha; Leah.father = Ari; Leah.mother = Martha; // Returnerer objektet Harald return Harald; } public boolean isMotherOf(Person child){ // Sjekker om moren til personen som er parameteren er den samme som det objektet metdoen brukes på if(child.mother == this){ return true; } else{return false;} } public boolean isFatherOf(Person child){ // Sjekker om faren til personen som er parameteren er den samme som det objektet metdoen brukes på if(child.father == this){ return true; } else{return false;} } public boolean isSiblingOf(Person child){ // Sjekker om personen som er parameteren har samme mor og samme far som personen metoden brukes på if(child.father == this.father && child.mother == this.mother){ if(child != this){ return true; } } return false; } public boolean isHalfSiblingOf(Person child){ // Sjekker om personen som er parameteren har samme far men ulik mor som personen metoden brukes på if(child.father == this.father && child.mother != this.mother){ return true; } // Sjekker om personen som er parameteren har samme mor men ulik far som personen metoden brukes på else if(child.father != this.father && child.mother == this.mother){ return true; } else{return false;} } public static void main(String[] args) { } } Endret 27. januar 2006 av HolgerLudvigsen
HolgerL Skrevet 26. januar 2006 Forfatter Skrevet 26. januar 2006 (endret) package oving2; public class Card { // Oppretter variabler til bruk i objektene String suit; int face; // En metode som returnerer suiten og facen til card-objektet det blir brukt på public String toString(){ return this.suit + this.face; } public static void main(String[] args) { } } Endret 27. januar 2006 av HolgerLudvigsen
HolgerL Skrevet 27. januar 2006 Forfatter Skrevet 27. januar 2006 package oving2; public class CardDeck { // Oppretter card-array for kortene i kortstokken Card[] cards = new Card[52]; // Oppretter en teller for antall kort som er delt ut int teller = 0; // En metode som setter inn en hel kortstokk i cards-arrayet public void buildDeck(){ // Lager index for å gå gjennom hver celle i cards og en array for suitsene som skal brukes i kortstokken int index = 0; String[] suits = {"S", "H", "D", "C"}; // For-løkke som skal generere kortene, j er hvilken av de fire suitene som genereres for(int j = 0; j < 4; j++){ // For-løkke som lager et card-objekt i hver cards-celle med face fra 1 til 13 og den aktuelle suiten for(int i = 1; i <= 13; i++){ cards[index] = new Card(); cards[index].face = i; cards[index].suit = suits[j]; // Øker index med 1 for hvert kort som endres index++; } } } // En metode for å hente et card-objekt med index lik innparameteren public Card getCard(int index){ return cards[index]; } public void shuffle(){ // Setter antall kort som er delt ut til 0 siden man antagelig vil starte nytt spill når man stokker kortene this.teller = 0; // For-løkke som starter på kort 1 og bytter alle kortene ut med et tilfeldig annet kort i stokken for(int i = 0; i < 52; i++){ // Kopierer pekeren til kortet Card cardHolder = cards; // Lager et java.util.Random-objekt java.util.Random rnd = new java.util.Random(); // Bruker nextInt-metoden på rnd for å lage en tilfeldig index rndIndex int rndIndex = rnd.nextInt(52); // Setter kortet til å peke på det tilfeldige kortet cards = cards[rndIndex]; // Setter det tilfeldige kortet til å peke på det gamle kortet cards[rndIndex] = cardHolder; } } public Card[] deal(int number){ // Lager en card-array for å sette inn kortene som skal deles ut Card[] dealBunke = new Card[number]; for(int i = 0; i < number; i++){ // If-løkke som sjekker om det er nok kort igjen å dele ut og som lager tomme kort om det ikke er if(52 - teller < 1){ dealBunke = new Card(); dealBunke.face = 0; dealBunke.suit = "N"; } // Setter dealBunke-celle til et card-objekt og setter inn neste kort i cards om det er kort igjen else{ dealBunke = new Card(); dealBunke = this.cards[teller]; } // Øker teller for hvor mange kort som er delt ut om ikke alle kortene er delt ut if(teller != 52){teller++;} } // Returnerer dealBunke return dealBunke; } public int getCardCount(){ return 52 - this.teller; } // Test for klassen public static void main(String[] args) { CardDeck k = new CardDeck(); k.buildDeck(); k.shuffle(); int mengde = 12; Card[] d = k.deal(mengde); for(int j = 0; j < 6; j++){ for(int i = 0; i < mengde; i++){ System.out.print(d.toString() + " "); } System.out.println(k.getCardCount()); d = k.deal(mengde); } } }
vstr Skrevet 13. mars 2006 Skrevet 13. mars 2006 prøver en gang til om spam testen fungerer skikkelig.
Anbefalte innlegg