Avatar billede renebmadsen Nybegynder
21. januar 2007 - 12:58 Der er 14 kommentarer og
2 løsninger

Main hvad skal jeg gøre

Hvad skal der til for at jeg kan se mit resultat... 

public static void main(String[] args)
    {
        Brøk b = new Brøk(1,2);
        Brøk c = new Brøk(2,3);

        Brøk d = b.add( c );
        System.out.println("Resultatet er" + d);
    }
Avatar billede kalp Novice
21. januar 2007 - 13:00 #1
du mangler at smide det hele ind i en klasse

public class EtEllerAndet
{


public static void Main(String[] args)
    {
        Brøk b = new Brøk(1,2);
        Brøk c = new Brøk(2,3);

        Brøk d = b.add( c );
        System.out.println("Resultatet er" + d);
    }


}
Avatar billede renebmadsen Nybegynder
21. januar 2007 - 13:22 #2
Det hele er i en klasse her ses hele koden



package Brøk;

/**
*
* @author Renè Baltzer Madsen
*/

  public class Brøk
    {
        //atributter
        private int tæller;
        private int nævner;
       
        //Default constructor
        public Brøk() 
        {
       
        }

        //Constructor med parametre
        public Brøk(int enT, int enN)
        {
            //Lader enT være tæller i brøken
            tæller = enT;
           
            //Lader neN være nævner
            nævner = enN;
           
            //kalder forkort metoden
            forkort();
           
            //Tjekker med det samme om nævner er 0, hvis den er skrives der en fejl meddelse. Og programmet stoppes.
            if(enN == 0)
            {
                System.err.println("Nævner må ikke være = 0");
                //bruger -1 da det er en fejl. havde det været 1 havde et været vellykket altså ingen fejl
                System.exit(-1);
            }
        }
       
        //her returneres tælleren
        public int getTæller()
        {
            return tæller;
        }
       
        //her returneres nævneren
        public int getNævner() 
        {
            return nævner;
        }
       
        //her er +
        public Brøk add(Brøk enB)
        {
            return new Brøk(getTæller()*enB.getNævner()+enB.getTæller()*getNævner(),getNævner()*enB.getNævner());
        }
       
        //her er -
        public Brøk subtract(Brøk enB) 
        {
            return new Brøk(getTæller()*enB.getNævner()-enB.getTæller()*getNævner(),getNævner()*enB.getNævner());
        }
       
        //her er *
        public Brøk multiply(Brøk enB) 
        {
            return new Brøk(getTæller()*enB.getTæller(),getNævner()*enB.getNævner());
        }
       
        //her er /
        public Brøk divide(Brøk enB)   
        {
            return new Brøk(getTæller()*enB.getNævner(),getNævner()*enB.getTæller());
        }

        public boolean equals(Brøk enB)
        {
            if (getTæller() == enB.getTæller() && getNævner() == enB.getNævner())
            {
                return true;
            }
            return false;
        }
       
        public int compare(Brøk enB) 
        {
          double  førsteBrøk = (double)getTæller() / (double)getNævner();
          double  andenBrøk = (double)enB.getTæller() / (double)enB.getNævner();
           
            if (førsteBrøk < andenBrøk)
            {
                // den anden brøk vi indtastede er størst
                return -1;
            }
            else
            if (førsteBrøk > andenBrøk)
            {
                // Den første brøk som vi indsatte er størst
                return 1;
            }
            else
            {
                // De er ens
                return 0;
            }
        }
       
        //metode der bruges til at forkorte med
        private void forkort()
        {
            //tjekker om tæller eller nævner er mindst
            int mindst = 0;
           
            //hvis tæller er mindre end nævner sætter vi mindst = tæller
            if(tæller < nævner)
            {
                mindst = tæller;
            }
           
            if(tæller > nævner)
            {
                mindst = nævner;
            }
           
            if(tæller == nævner)
            {
                mindst = nævner;
            }
           
            int forkort = 1;
           
            for(int i = mindst; i > 1; i--)
            {
                if(tæller % i == 0 && nævner % i == 0)
                {
                    forkort = i;
                    //stop når det største tal er fundet
                    break;
                }
            }
           
            tæller = tæller / forkort;
            nævner = nævner / forkort;
        }

    public static void Main(String[] args)
    {
        Brøk b = new Brøk(1,2);
        Brøk c = new Brøk(2,3);

        Brøk d = b.add( c );
        System.out.println("Resultatet er" + d);
    }

}
Avatar billede kalp Novice
21. januar 2007 - 13:45 #3
okay det ser jo fint nok ud nu...

du skal ud i din kommando promt og skrive

javac Brøk.java

og selvfølgelig angive hvor Brøk.java ligger på disken..

hvis du får en fejl skal du stå i mappen hvor javac.exe ligger..

bagefter kan du skrive

java Brøk

så burde du får dit resultat..
Avatar billede renebmadsen Nybegynder
21. januar 2007 - 14:16 #4
køre det med netbeans 5,5 så burde vel ikke ud i nogen promt?
Avatar billede kalp Novice
21. januar 2007 - 14:18 #5
okay.. så må du have en compile og run et sted

bruger ikke netbeans selv..

typisk har man en menu der hedder "run"

men du må kigge rundt i værktøjet.. det er sikkert ret åbenlyst
Avatar billede renebmadsen Nybegynder
21. januar 2007 - 14:21 #6
når jeg køre run får jeg ikke et resultat men dette her

compile:
run:
Resultatet er  Brøk.Brøk@10b62c9
BUILD SUCCESSFUL (total time: 0 seconds)
Avatar billede kalp Novice
21. januar 2007 - 14:23 #7
ahh okay..

du skal lige have noget mere ...

importer java.util.Scanner


og ret main til dette

    public static void Main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        Brøk b = new Brøk(1,2);
        Brøk c = new Brøk(2,3);

        Brøk d = b.add( c );
        System.out.println("Resultatet er" + d);

sc.nextLine();
    }
Avatar billede renebmadsen Nybegynder
21. januar 2007 - 14:42 #8
hmm det giver mig en input linie og hvad skal jeg så skrive der. jeg er jo på jagt efter resultatet d  ????
Avatar billede kalp Novice
21. januar 2007 - 14:46 #9
du har jo ikke en metode i Brøk som returnere resultetet..
din metode

  public Brøk add(Brøk enB)
        {
            return new Brøk(getTæller()*enB.getNævner()+enB.getTæller()*getNævner(),getNævner()*enB.getNævner());
        }


returnere jo bare en brøk...
men fint nok.. forstår ikke hvad du mener..

du kan prøve at skrive

System.out.println("Resultatet er" + d.getNævner() " " + d.getTæller());
Avatar billede arne_v Ekspert
21. januar 2007 - 16:38 #10
prøv og tilføj en:

public String toString() {
  return (tæller + "/" + nævner);
}

til din Brøk klasse, så bør du kunne udskrive med

System.out.println("Resultatet er" + d);
Avatar billede renebmadsen Nybegynder
21. januar 2007 - 17:41 #11
super så køre det.
hvad skal der til før jeg ved start selv kan vælge om det er den ene eller den anden metode der skal bruges. gerne så jeg fra input kan angive om det er division eller addition osv.
Avatar billede kalp Novice
21. januar 2007 - 17:45 #12
igen..

  public static void Main(String[] args)
    {
Brøk b = new Brøk(1,2);
Brøk c = new Brøk(2,3);
Scanner sc = new Scanner(System.in);
System.out.println("+ eller - ?");
String metode = sc.nextLine();

if(metode.equals("+")
{

        Brøk d = b.add( c );
        System.out.println("Resultatet er" + d);
}else if(metode.equals("-"))
{
kald din anden metode her..
}

sc.nextLine();
    }


og så er det nok smartere med en switch, men det er bare så du kunne se.
Avatar billede renebmadsen Nybegynder
21. januar 2007 - 18:06 #13
super mange tak for hjælpen.
forsøger at forstå dette her og så det at kunne teste om det jeg laver er rigtigt
Avatar billede kalp Novice
21. januar 2007 - 18:24 #14
okay men det virker altså godt nu eller?
Avatar billede renebmadsen Nybegynder
21. januar 2007 - 21:07 #15
ja det gør det. hvad med at kalde en af mine get metoder?????
Avatar billede kalp Novice
21. januar 2007 - 21:59 #16
ja det var så jeg skrev her

Kommentar: kalp
21/01-2007 14:46:57
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