Avatar billede mads1987 Nybegynder
08. november 2004 - 09:14 Der er 14 kommentarer og
1 løsning

Potens i java

Hej eksperter, jeg står over for et lille problem jeg håber i kan hjælpe med at løse.

Jeg har lavet en konstruktør til klassen Tabel:
Tabel(int potens, int antal);

Den skal være i stand til at oprette objekter som indeholder en 2-dim tabel.

Altså skal parameteren potens angive potensen, mens antal skal angive, hvor mange af talrækkens første cifre/tal der skal bruges.

Konstruktørens skal altså oprettet både et objekt og en tabel.

Så skal f.eks.:
Tabel kvadrat = new Tabel( 2, 10); 

Svare til funktionen f(x) = x^n

Selvom jeg kender nogle brudstykker fra koden, mangler jeg jo noget ind i mellem. Kan forestille mig jeg skal bruger en for-løkke. Men er ret blank med hensyn til hvordan jeg gør det. Nogen der kan hjælpe med et lille eksempel på en løsning?
Avatar billede arne_v Ekspert
08. november 2004 - 11:12 #1
Kan du beskrive lidt nærmere hvad der skal oprettes ?
Avatar billede kalp Novice
08. november 2004 - 11:14 #2
forstår heller ikke helt hvad det er ...

hvis din constructer skal lave objekter skal du lave en klasse som varetager potensen og antal den skal vise...
Avatar billede kalp Novice
08. november 2004 - 11:15 #3
i constructeren.. skriver du så ..

Tabel(Klassenavn)

{
Klassenavn.getPotens();
Klassenavn.getAntal);
}

det du mener?
Avatar billede mads1987 Nybegynder
08. november 2004 - 13:18 #4
Præcis kalp!
Avatar billede morteeart Nybegynder
08. november 2004 - 13:22 #5
en lille kommentar, som måske er brugbar hvis du ikke ved det:

Math.pow  bruges til potens .. ^
Avatar billede arne_v Ekspert
08. november 2004 - 13:28 #6
Jeg forstår stadigvæk ikke hvad du vil.

At du kalder 2 get metoder i en constructor uden at bruge resulatet
til noget fortæller ikke hvad det er du vil.

Hvad går opgaven ud på ?
Avatar billede mads1987 Nybegynder
08. november 2004 - 14:19 #7
I klassen Tabel skal der være en metode udSkriv( ),  således at kaldet kvadrat.udSkriv( ) producerer dette resultat på slærmen:

1 2 3  4 5  6  7  8  9  10
1 4 9 16 25 36 49 64 81 100
Avatar billede arne_v Ekspert
08. november 2004 - 14:28 #8
prøv:

public class Tabel {
  private int n1;
  private int n2;
  public Tabel(int n1, int n2) {
      this.n1 = n1;
      this.n2 = n2;
  }
  public void udSkriv() {
      for(int i = 1; i <= n2; i++) {
          System.out.print(" " + i);
      }
      System.out.println();
      for(int i = 1; i <= n2; i++) {
          System.out.print(" " + (int)Math.pow(i, n1));
      }
      System.out.println();
}
Avatar billede kalp Novice
08. november 2004 - 15:51 #9
så er jeg tilbage igen.. tror da jeg har forstået hvad det er du vil have så: ) men venter lige til du har kommenteret arne_v's sidste kommentar
Avatar billede kalp Novice
08. november 2004 - 16:29 #10
gem disse og kør dem.. fortæl mig om det var det du søgte... Main opretter objekter af View med en almindelig array.... kan ikke lige se hvad 2d array skal bruges til, men kan være jeg ikke har forstået dit problem:)

gem disse to source koder og kør dem

****
Denne gemmes som View.java
****

public class View
{
  int[] list = new int[100];
  int laengde, potensen;
  public View(){}
  public View(int potens, int antal)
  {
    potensen = potens;
    laengde = antal;
  }
  public String udregn()
  {
    String resultat="";
    for(int i = 0; i <= laengde; i++)
    {
      resultat += " " + i;
    }
    resultat += "\n";
    for(int i = 0; i <= laengde; i++)
    {
      resultat += " " + (int)Math.pow(i, potensen);
    }
    return resultat;
  }
}



**************
Denne gemmes som Main.java
**************


public class Main
{
  public void koer()
  {
    View opret = new View(2, 10);
    System.out.println(opret.udregn());
  }
 
  public static void main(String[] args)
  {
    Main start = new Main();
    start.koer();
  }
}
Avatar billede arne_v Ekspert
08. november 2004 - 16:46 #11
Tja.

Det jeg postede 14:28:34 virker vist glimrende per ønske:

public class KvadratTest {
    public static void main(String[] args) {
        Tabel kvadrat = new Tabel( 2, 10); 
        kvadrat.udSkriv();
    }
}

output:

1 2 3 4 5 6 7 8 9 10
1 4 9 16 25 36 49 64 81 100
Avatar billede arne_v Ekspert
08. november 2004 - 16:46 #12
så et svar fra mig
Avatar billede arne_v Ekspert
21. november 2004 - 20:19 #13
mads ?
Avatar billede kalp Novice
22. november 2004 - 11:39 #14
mads er du der?:p
Avatar billede mads1987 Nybegynder
30. november 2004 - 22:23 #15
Undskyld mit fravær
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester