Tellan Skrevet 7. oktober 2009 Del Skrevet 7. oktober 2009 (endret) Eg er ny i java programmering, men kan ein del C++. Eg vil laga ein 2 dimensjonal tabell av flyttal, eg gjorde det slik: Vector < Vector<Double> > vegar = new Vector< Vector<Double> >(); Så vil eg prøva å få inn verdiar i denne tabellen, det viste seg ikkje å vera så beint fram i forhold til C++ Kan nokon sei meg korleis eg legg inn ein verdi i tabellen min? Prøvde meg med: Scanner tastatur = new Scanner (System.in); ( vegar.get(2) ).add( 5, tastatur.nextDouble() ); Edit: Klarte å kompilera programmet, men fekk denne feilmeldinga då eg kom til plassen der eg skulle fylla inn i tabellen: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 Endret 8. oktober 2009 av Tellan Lenke til kommentar
Joachricar Skrevet 7. oktober 2009 Del Skrevet 7. oktober 2009 (endret) Ser ut som om du ikke har satt størrelsen på tabellen. må gjøres i det du initialiserer. double[][] heltall = new double[10][10]; // Gir plasser fra 0 - 9 i hver retning. heltall[<rekke>][<kolonne>] = 3.55; //for å sette inn i tabellen Ellers må du bruke modifiserbare arrays, husker ikke hva de het, men google hjelper deg sikkert med det. Endret 7. oktober 2009 av Joachricar Lenke til kommentar
Cyberfrog Skrevet 7. oktober 2009 Del Skrevet 7. oktober 2009 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 Dette kan skje f.eks. når du bruker get med en ugyldig index (og i dette tilfellet har du trolig en tom liste av lister). Vector er mindre vanlig å bruke i Java, utenfor situasjoner der trådsikkerhet et et tema (vector i C++ tilsvarer noenlunde ArrayList i Java, men du kan ikke overlaste operatorer). Spiller fint liten rolle i dette tilfellet, men verdt å nevne. Vector<Vector<Double>> vegar = new Vector<Vector<Double>>(); Vector<Double> vegListe1 = new Vector<Double>(); // vegListe1.get(0); // java.lang.ArrayIndexOutOfBoundsException vegListe1.add(3.5); // funker vegListe1.get(0); // funker naa vegar.add(vegListe1); // La oss bytte ut listen med en annen Vector<Double> vegListe2 = new Vector<Double>(); vegListe2.add(5.5); vegListe2.add(10.5); vegar.set(0, vegListe2); // Og hente listen pluss legge til et element i samme linje vegar.get(0).add(8.0); System.out.println(vegar); Men hvis du vet hvor mange verdier som (max) skal leses inn, så kan double[x][y] kanskje gjøre nytten. I API-en, ikke minst under java.util, finner du mye nyttig. På nett finnes det også mange guides/tutorials av typen "Java for C++ programmers". Lenke til kommentar
Tellan Skrevet 8. oktober 2009 Forfatter Del Skrevet 8. oktober 2009 Ah, men då byrjer eg å bruka ArrayList. Eg prøvde berre å bruka Vector akkurat slik som i C++, det fungerte fint det heilt til eg hadde for liten plass i tabellen min. Takk for svar Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 Dette kan skje f.eks. når du bruker get med en ugyldig index (og i dette tilfellet har du trolig en tom liste av lister). Vector er mindre vanlig å bruke i Java, utenfor situasjoner der trådsikkerhet et et tema (vector i C++ tilsvarer noenlunde ArrayList i Java, men du kan ikke overlaste operatorer). Spiller fint liten rolle i dette tilfellet, men verdt å nevne. Vector<Vector<Double>> vegar = new Vector<Vector<Double>>(); Vector<Double> vegListe1 = new Vector<Double>(); // vegListe1.get(0); // java.lang.ArrayIndexOutOfBoundsException vegListe1.add(3.5); // funker vegListe1.get(0); // funker naa vegar.add(vegListe1); // La oss bytte ut listen med en annen Vector<Double> vegListe2 = new Vector<Double>(); vegListe2.add(5.5); vegListe2.add(10.5); vegar.set(0, vegListe2); // Og hente listen pluss legge til et element i samme linje vegar.get(0).add(8.0); System.out.println(vegar); Men hvis du vet hvor mange verdier som (max) skal leses inn, så kan double[x][y] kanskje gjøre nytten. I API-en, ikke minst under java.util, finner du mye nyttig. På nett finnes det også mange guides/tutorials av typen "Java for C++ programmers". Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå