Gå til innhold

Fred7555

Medlemmer
  • Innlegg

    1 381
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Fred7555

  1. Ikke noe ekspert selv, men vil si at Interfacer kan gi klasser visse egenskaper.

     

    Personlig så tenker jeg å extende en klasse vil si at klassen er en form for det du extender, men da med litt flere/spesifikke egenskaper.

    Ønsker du å gi klassen din flere egenskaper, så implementerer du interfaces.

     

    F.eks. se på klassen ArrayList:

    public class ArrayList<E>extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, Serializable

    Den extender AbstractList, men den implementerer flere interfaces for å få de egenskapene. Siden den implementerer interfacesene ovenfor, så vet vi hvilke egenskaper de har, og kan kalle metoder som finnes i dem. Og siden alle list-klasser implementerer List, kan vi si List<T> someList = new .... på alle typer implementasjoner av list.

    Ønsker du å lage en egen versjon av liste, så er det bare å implementere List, implementere metodene i List, og eventuelt implementere flere interfaces om du ønsker flere egenskaper.

     

    Som sagt ingen ekspert selv, og bruker interfaces sjelden, men er hvertfall slik jeg tenker.

    Finnes garantert mange sider som forklarer det mye bedre enn meg ved et kjapt google-søk.

  2. I Java så brukes equals()-metoden for å sjekke om to Stringer er like hverandre.

     

    @kimbert007:

    Er noen ting du må fikse på for å få det til å funke:

    - Du bruker antall-variabelen flere steder uten å sette den til 0 igjen, slik at resultatet fra B vil påvirke C. Enten settt antall til 0 etter B, eller lag en ny variabel

    - Du bruker to forskjellige Scanner i A og B, men i C bruker du scanneren igjen fra A, som da er på slutten av filen. Lag en ny en der og.

    - Av en eller annen grunn så spør du om et ord fra brukeren, for å så overskrive det igjen i loopen. Du må spørre om et ord, også sjekke om scanner.nextLine().contains(brukerInput2).

     

    Her er en fungerende versjon med noen modifikasjoner:

     

    import java.util.Scanner;
    import java.io.File;
    
    public class Innlesing {
        
        public static void main(String[] args) throws Exception {
    
            int antall = 0;
            int linjeNummer = 1;
            String filNavn = "winnie.txt";
            Scanner aScanner = new Scanner(new File(filNavn));
    
            // PART A
            while (aScanner.hasNextLine())
                System.out.println("Linje " + linjeNummer++ + ": " + aScanner.nextLine());
            
            aScanner.close();
            
            
            // PART B
            Scanner bScanner = new Scanner(new File(filNavn));
            while (bScanner.hasNextLine())
                if (bScanner.nextLine().contains("Winnie-the-Pooh"))
                    antall++;
        
            System.out.println("Antall forekomster av Winnie-the-Pooh er: " + antall);
            antall = 0;
            bScanner.close();
            
            
            // PART C
            Scanner cScanner = new Scanner(new File(filNavn));
            Scanner brukerInput = new Scanner(System.in);
            System.out.print("Hvilket ord vil du soeke paa?: ");
            String searchWord = brukerInput.next();
    
            while (cScanner.hasNextLine())
                if (cScanner.nextLine().contains(searchWord))
                    antall++;
                    
            System.out.println("Antall forekomster av " + searchWord + " er: " + antall);
            
            cScanner.close();
            brukerInput.close();
        }
    
    }
    
  3. Joda, hadde absolutt vært en del å legge inn begge titlene ja :)

     

    Er bare å fortsette å bruke crunchyroll om du liker det.

    Eneste ulempen, som du alt vet, er at de kun har serier de har rettigheter på og oversatt, mens andre sider bare streamer seriene fra en eller annen fansubber.

    Så om du vil ha de ferskeste episodene, fra alle typer serier, må du nesten bruke alternative sider.

    Men er du ikke særlig interessert i det, er det bare å bruke crunchyroll til alt :)

    • Liker 1
  4. nyaa.se er absolutt "legal" den.

    Du søker etter det du ønsker, velger hvilken kategori den befinner seg i, samt om du ønsker alle mulige release, Truster Only ol.

     

    Et kjapt google søk skal også gi alle de populære sidene for streaming, så bare å søke seg litt rundt.

     

    Istedenfor å kun bruke engelske navn for serier, burde du også bruke de japanske.

    F.ek.s SoulAnime som du påstår ikke har Attack on Titan, har den bare under det japanske navnet "Shingeki no Kyojin"

  5. For å bygge videre på det Schreiber sa over:

     

    Du har alle basis-klassene (Gladiator, Marauder, Pugilist, Lancer, Archer, Conjuer, Thaumaturge, Arcanist), hvor da noen er tanks, dps/dds og healers.

    Hver class har eget level og points du kan distribuere på diverse stats.

     

    Etter visse kriterier er nådd, kan du "oppgradere" klassen til en Job, som er da en spesialisert utgave av klassen. F.eks. Gladiator -> Paladin, Marauder -> Warrior, Conjuer -> White Mage osv.

    Det krever base-classen (den klassen som blir bygget videre på) i lvl 30, samt en sekundær klasse i lvl 15. F.eks. Paladin er Gladiator i lvl 30 og Conjuer i lvl 15.

     

    Når du levler opp flere klasser, får du også tilgang på de skillsene på andre klasser.

     

     

    For å skifte en class, så skifter du rett og slett bare main-hand. Med andre ord, så bestemmer main-hand hvilken class du er.

    Er du Gladiator og du ønsker å bli en Lancer, så går du til Lancer-guilden, hvor du kan få et quest som unlocker Lancer-classen og gir deg et våpen. Etter det, så er det bare å equipe våpenet, så er du Lancer.

     

    For å gjøre skiftingen lett, så kan du lage noe som kalles gearsets. Det er et system som lar deg ta et snapshot av det du har på deg, og lagrer det. Det betyr at du kan equipe alt gear og våpen du vil av Gladiator, lagre gearsetet. Når som helst kan du enkelt bare åpne listen, klikke på gearsetet du lagret, så vil det bli equipet (samt våpenet, som gjør at du skifter til den classen).

    De kan også bli lagt til på hotbaren, slik du enkelt kan skifte.

     

    Du har 8 hotbars til disposisjon, hvor noen er horisontale og noen vertikale. Av de så kan du velge hva som er klasse-basert og hva som er for alle. På den måten kan du ha noen stykk for hver klasse hvor du har skillsene til den klassen, og noen med generelle ting som mounts, potions ol. for generell bruk av alle klasser.

     

     

    Utenom klassene ovenfor, har du også klasser som Miner, Botanist, Fisher, Blacksmith osv.

    Der gjelder akkurat samme som over, hvor våpnet bestemmer classen, du unlocker classen med et quest i guilden, og du kan lagre gearsets og sette det på hotbaren.

     

     

    Beklager om det kanskje ble et litt rotete svar :p

     

    Om det er noe som er uklart eller du lurer på noe mer, så er det en FFXIV:ARR-tråd som kanskje har informasjonen du leter etter (eller hvor du kan spørre):

    https://www.diskusjon.no/index.php?showtopic=1499158

     

    På hjemmesiden så er det også systemet godt forklart:

    http://na.finalfantasyxiv.com/pr/

  6. Joda, det funker fint det :)

    Så lenge du har en DoW/DoM-class mer enn ett level høyere enn classen du spiller på (og du spiller på DoM/DoW), så får du 50% exp-boost. Forklaringen du får første gang du får bruke Armoury Bonus sier at det avhenger av forskjellen mellom høyeste og nåværende level, men det er 50% uansett.

     

    Var hvertfall slik da jeg testet det sist, og slik diverse folk sier på reddit og andre sider sier, men om det er skiftet i de senere patchene vet jeg ikke.

  7. For øyeblikket deler PC og PS3 servere, mens PS4 er på dedikerte servere i Japan under beta-testingen.

    Usikker i hvilken beta phase PS4 flytter over, men hvertfall fra og med release deler alle servere :)

     

    @Nevnarion

    Kan alltids flytte server til Ragnarok, joine Midgard og se hvordan du liker det.

     

    Personlig hadde jeg ikke spilt på langt nær så mye som jeg har gjort om det ikke var for FC'et. Å ha noen å gjøre Coil, Primals, dungeons, farming og det meste med er desidert mye gøyere enn å gjøre med nye randoms hver gang :)

  8. Det kalles en enhanced for-loop / for-each loop.

     

    Istedenfor å repetere et vist antall ganger (slik en for-lopp gjør), så går den gjennom alle elementene i en mengde. En slik mengde kan f.eks. være et array, og generelt alle klasser som implementerer interfacet 'Collection'

    for (<datatype> <variabelnavn> : <mengde>) {
       . . .
    }
    

    Som i eksempelet over, så går han gjennom alle strengene i mengden 'ord', og skriver det ut.

     

     

    Grunnen til at du fikk

     kul awesome gris eple pai noen
    [Ljava.lang.String;@7ae9e9b
    

    i et av dine tidligere innlegg, er fordi du skriver ut et array. Da skriver du ikke ut elementene, men minneaddressen til det.

     

    Om du vil skrive ut et array utenom å bruke en loop, kan du bruke metoden Arrays.toString(), som tar inn et array som argument. Da får du alt på en linje med komme imellom.

    • Liker 1
  9. Så du her et array med stringer, og hver string inneholder en int, så x mellomrom og noe mer til slutt, og du ønsker å hente ut tallet i hver string?

    Eller er hele string-arrayet en lang tekstreng, hvor noen av elementene er et tall?

     

    Om det første, så kan du gjøre noe ala:

     

    int numb = 0;
    for (String s : <navn på string-array>)
        numb = Integer.parseInt(s.split(" ")[0]);
    

    tallet (numb) kan du gjøre det du ønsker med.

    Det er en for-each loop som går gjennom hvert element i arrayen, hentet ut første element før mellomrom, og konverterer det til en int.

     

    Om det er det andre, hvor noen av elementene er tall og andre ikke, så er det forskjellige måter.

    Du kan ha en metode som tar imot en string, og bruker try-catch rundt Integer.parseInt(), så returnerer du false om den går et exception.

    Eller kan du bruke Scanner å sjekke med metodens dens.

    Eller kan du også gå gjennom hvert element og sjekke om det er et digit eller ikke (via ASCII eller metoder fra Character).

  10. Når du oppretter arrayet, så er det av en bestemt type, f.eks. en klasse som String eller en egendefinert.

    Siden du har oppretter arrayet som en type av "navnet på class", så må alle elementene i arrayet være enten et objekt/instans av den klassen, eller null.

    Du kan ikke sette den plassen til å peke på String, som er av en annen klasse.

     

    Enten må den stå som null, eller må du definere et slags "null-objekt" av den klassen du bruker, slik at du vet at det er null/ingen verdi.

     

     

    Angående sorteringen, så kommer det an på hva du ønsker å gjøre med null.

    Når du oppretter arrayet, så er det av en fast lengde som ikke kan endres under kjøring. Så selvom du setter plassen til null, så vil plassen alltid eksistere.

    Så hvordan man gjør sorteringen vil være avhengig om du velger å ha null null der den er og bare ikke skriver den ut, eller om du ønsker å flytte den bakerst, og stoppe utskrivningen når du kommer til et null-element. Eventuelt kopiere elementene som ikke er null til et nytt array, og returnere det.

  11. For å få til at første tall alltid tar 4 plasser og er venstre-stilt, kan du bruke:

     

    int num = 5;
    System.out.printf("%-4d%s", num, "En to tre");
    

     

    "%d" betyr at den integer kommer

    "%s" betyr at en string kommer

    4-tallet betyr at det skal ta 4 siffer/plasser, og - er til for venstre-justering (default er høyre).

     

    for hver slik du putter i venstresiden, så må du spesifisere variablen/veriden til høyre.

×
×
  • Opprett ny...