Gå til innhold

Helvetes maskiner på P15


HolgerL

Anbefalte innlegg

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 av HolgerLudvigsen
Lenke til kommentar
Videoannonse
Annonse

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 av HolgerLudvigsen
Lenke til kommentar

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 av HolgerLudvigsen
Lenke til kommentar

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);

}

 

}

}

Lenke til kommentar
  • 1 måned senere...
Gjest
Dette emnet er stengt for flere svar.
×
×
  • Opprett ny...