Gå til innhold

Initiere to-dimensjonal tabell


Anbefalte innlegg

Hei, trenger litt hjelp til å initiere en to-dimensjonal tabell ved hjelp av random. Tabell skal forestille nedbørsdata over 30 dager med 24 data pr. dag. Jeg har kommet så langt i hvertfall:

 

public void initierTemperaturer ()
{
 for (int i = 0; i < temperaturer.length; i++)
 {
 	for (int k = 0; k < temperaturer[antTimer].length; k++)
 	{
   temperaturer[i][k] = randomTall;
 	} // Slutt for k
 } // Slutt for i
}

 

Men hvordan kommer jeg meg videre? Vet ikke hvordan jeg skal bruke Random i denne sammenhengen.

 

På forhånd takk :)

Endret av kjey
Lenke til kommentar
Videoannonse
Annonse

Hmm...tror jeg skjønte det, men jeg sitter fast med noe her... Jeg klarer ikke å lage en metode som skriver ut den initierte tabellen :blush: Er det noen som vet hvordan dette kan gjøres?

 

package Oppgaver;

import java.util.Random;

class Temperaturer
{
public final int antDager = 30;
public final int antTimer = 24;
public int[][] temperaturer = new int[antDager][antTimer];

public Temperaturer ()
{
 // Ingenting
}
// Legger inn verdier i temperaturtabellen
public void initierTemperaturer ()
{
 int frø = 17;
 int grense = 50;
 Random tilfeldig = new Random (frø);
 
 for (int i = 0; i < temperaturer.length; i++)
 {
 	for (int k = 0; k < temperaturer[antTimer].length; k++)
 	{
   temperaturer[i][k] = tilfeldig.nextInt(grense) - 50;
 	} // Slutt for k
 } // Slutt for i
}

public static void main (String[] args)
{
 Temperaturer objekt = new Temperaturer ();
 objekt.initierTemperaturer ();
}
}

Lenke til kommentar
Hehe, altså jeg trenger en metode til å skrive ut tabellen slik at jeg kan sjekke om tabellen er initiert og at jeg har gjort alt riktig  ;)

6232061[/snapback]

 

hva om du lager en metode slik:

 

public void skrivUtTemperaturer(){
for (int i = 0; i < temperaturer.length; i++) {
 for (int k = 0; k < temperaturer[antTimer].length; k++)  {
  System.out.print(temperaturer[i][k]);
 } // Slutt for k
System.out.println();
} // Slutt for i
}

 

og main slik:

public static void main (String[] args){
   Temperaturer objekt = new Temperaturer ();
   objekt.initierTemperaturer ();
   objekt.skrivUtTemperaturer();
 }

Lenke til kommentar
  • 3 uker senere...

Foruten det faktum at jeg går i "frø" av å se æ, ø og å i koden så kan det vel nevnes at dersom du ønsker skikkelige tilfeldige verdier så burde du ikke bruke en konstant seed. Det er vanlig å bruke System.currentTimeMillis() da denne metoden alltid vil returnere en ny verdi hver gang du starter applikasjonen.

 

Kan også nevnes at det muligens hadde vært mer elegant å bruke et Map med dagene som keys og en List med timene som values. Uansett, slikt er jo smak og behag :)

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...