Avatar billede michelle_mikkelsen Nybegynder
12. december 2002 - 16:37 Der er 13 kommentarer og
1 løsning

Lad os prøve en anden løsning............"cannot resolve symbol "

NU BRUGER JEG EN HELT ANDEN LØSNING, MEN HER ER DER OGSÅ FEJL, ER DER IKKE EN, SOM KAN HJÆLPE MIG UD FRA DETTE HER, FOR JEG ER NEMLI RIGTIG MEGET PÅ "SKIDEREN". JEG HAR SIMPELTHEN OPGIVET DET, JEG KAN IKKE MERE. I MÅ GODT LAVE OM PÅ KILDE KODEN BARE DEN KOMMER TIL AT KØRE OG VISE RESULTAT....

PÅ FORHÅND TUSIND TAK..

FORELØBIG VISER DET 4 FEJL:
C:\Documents and Settings\Dokumenter\Program udvikling\Forkortbroker2.java:83: <identifier> expected
                    System.out.println ("Du har "+facit+" rigtige ud af "+antalopgaver);
                                                          ^
C:\Documents and Settings\Dokumenter\Program udvikling\Forkortbroker2.java:85: 'class' or 'interface' expected
                    public void recieveInput (String resultatm)
                                              ^
C:\Documents and Settings\Dokumenter\Program udvikling\Forkortbroker2.java:83: cannot resolve symbol
symbol  : class out 
location: class java.lang.System
                    System.out.println ("Du har "+facit+" rigtige ud af "+antalopgaver);
                                              ^
C:\Documents and Settings\Dokumenter\Program udvikling\Forkortbroker2.java:81: cannot resolve symbol
symbol  : method recieveInput  (java.lang.String)
location: class Forkortbroker2
                    recieveInput(resultat);
                                        ^
4 errors

Tool completed with exit code 1



import java.util.Random;
import cs1.Keyboard;
import cs1.*;

public class Forkortbroker2
{
    public static void main (String[] args)
      {

                    Random tilfældig1 = new Random();


                    int facit= 0;
                    int naev = 0;
                    int tael = 0;
                    int tal1 = 0;
                    int tal2 = 0;
                    int naevner = 0;
                    int taeller = 0;
                    int tæller  = 0;
                    int antalopgaver = 0;
//                    int antaloperander, indtastsvar, operander, numeriskVaerdi;

//                    char fortegn;
//                    char operator;
                    String sum;
                    String resultat;


//                    System.out.println ("hej verden");


                    System.out.println ();                // Her indtastes de oenskede antal opgaver.
                    System.out.println ("Indtast hvor mange opgaver du vil have af typen 'Forkort broek'! ");
                    antalopgaver = Keyboard.readInt();
                    System.out.println ();



                                        // I opgavetype 3, er der en begrænsning på to operander!!
                                        // Her indtastes det ønskede værdi for naevner.
                    System.out.println ();
                    System.out.println("Indtast max-vaerdien for naevneren: ");
                    naev = Keyboard.readInt();
                    System.out.println ();

                    System.out.println (); // Her indtastes det ønskede værdi for taeller.
                    System.out.println("Indtast max-vaerdien for taeller: ");
                    tael = Keyboard.readInt();
                    System.out.println ();

                    System.out.println ();
                    System.out.println ("Forkort foelgende broeker!");
                    System.out.println ();

                                        // for-løkke kører indtil de indtastede antalopgaver er udført!
                    for (int i=1; i<=antalopgaver; i++)

                    {
                    Random generator = new Random();// Random objekt oprettes

                                                                // Tilfældige tal mellem max og min
                    tal1= generator.nextInt(tael)+ naev;
                    tal2= generator.nextInt(tael)+ naev;

                    // generel formel for beregningen udregnes vha. klassen Metode3 - oprettet nederst.
                    Metode3 regn = new Metode3 (tal1, tal2);


                                            // de generede tal sammenlægges med tegn, formel skabes
                    System.out.println("Forkort :"+ tal1 + "/" + tal2);

                      resultat=Keyboard.readString();
                                                                            // Resultatet udskrives
                    System.out.println ("\t Resultat: "+ regn );
                    System.out.println ();


                    }

                    recieveInput(resultat);
                }
                    System.out.println ("Du har "+facit+" rigtige ud af "+antalopgaver);
}
                    public void recieveInput (String resultatm)
                    {
                        total = Keyboard.readString();
                    if ( total == resultatm)
                    {
                        facit++;
                        System.out.println (" Rigtig !");
                    }
                    else
                    {
                        System.out.println (" Forkert!");
                    }





class Metode3 // beregner type3 ligninger
    {
      public int tæller, nævner;

      public Metode3 (int tæl, int næv)
      {
          // tilpasser så 0 ikke forekommer som nævner og tildeler tæller et "-"
          if (næv == 0)
            næv = 1;

          // negative tæller
          if (næv < 0)
          {
            tæl = tæl * -1;
            næv = næv * -1;
          }

          tæller = tæl;
          nævner = næv;

          forkort ();

        }

      // returnerer tælleren
      public int getTæller ()
      {
          return tæller;
      }

      // returnerer nævneren
      public int getNævner ()
      {
          return nævner;
      }


      // returnerer reciprokken af en bestemt værdi
      public Metode3 reciprokke ()
      {
          return new Metode3 (nævner, tæller);
      }

      // retunerer værdien og "/" som string
      public String toString ()
      {
          String resultat;

          if (tæller == 0)
            resultat = "0";
          else
            if (nævner == 1)
                resultat = tæller + "";
            else
                resultat = tæller + "/" + nævner;

          return resultat;
      }

      // forkorter værdien ved at dividere tæller og nævner med største fællesnævner
      public void forkort ()
      {
          if (tæller != 0)
          {
            // kalder metoden størstFællesnævner som heltal
            int fællesnævner = StørstFællesnævner (Math.abs(tæller), nævner);

            tæller = tæller / fællesnævner;
            nævner = nævner / fællesnævner;
          }
      }

      // beregner og retunerer den største fællesnævner vha. Euclids algoritme
      private int StørstFællesnævner (int num1, int num2)
      {
          while (num1 != num2)
            if (num1 > num2)
                num1 = num1 - num2;
            else
                num2 = num2 - num1;

          return num1;
      }
}
Avatar billede ffse.dk Nybegynder
12. december 2002 - 16:51 #1
recieveInput(resultat);
  }
  System.out.println ("Du har "+facit+" rigtige ud af "+antalopgaver);

  ^ denne er udenfor scope. du har for mange '}'.
Avatar billede soreno Praktikant
12. december 2002 - 16:54 #2
Jeg har prøvet at ændret på indryk i din kode - og har bl.a. observeret at
  System.out.println ("Du har "+facit+" rigtige ud af "+antalopgaver);
  Ikke er placeret i en metode - det skal den være!

  public void recieveInput (String resultatm)
  Ikke er placeret i en klasse - det skal den være!

Prøv at rette det og post evt. nye compiler fejl.
Jeg har ikke selv kompileret koden da jeg ikke har adgang til cs1 pakken.

import java.util.Random;
import cs1.Keyboard;
import cs1.*;

public class Forkortbroker2
{
    public static void main (String[] args)
    {
        Random tilfældig1 = new Random();

        int facit= 0;
        int naev = 0;
        int tael = 0;
        int tal1 = 0;
        int tal2 = 0;
        int naevner = 0;
        int taeller = 0;
        int tæller  = 0;
        int antalopgaver = 0;
        //int antaloperander, indtastsvar, operander, numeriskVaerdi;

        //char fortegn;
        //char operator;
        String sum;
        String resultat;

        //System.out.println ("hej verden");

        System.out.println ();                // Her indtastes de oenskede antal opgaver.
        System.out.println ("Indtast hvor mange opgaver du vil have af typen 'Forkort broek'! ");
        antalopgaver = Keyboard.readInt();
        System.out.println ();

        // I opgavetype 3, er der en begrænsning på to operander!!
        // Her indtastes det ønskede værdi for naevner.
        System.out.println ();
        System.out.println("Indtast max-vaerdien for naevneren: ");
        naev = Keyboard.readInt();
        System.out.println ();

        System.out.println (); // Her indtastes det ønskede værdi for taeller.
        System.out.println("Indtast max-vaerdien for taeller: ");
        tael = Keyboard.readInt();
        System.out.println ();

        System.out.println ();
        System.out.println ("Forkort foelgende broeker!");
        System.out.println ();

        // for-løkke kører indtil de indtastede antalopgaver er udført!
        for (int i=1; i<=antalopgaver; i++)
        {
            Random generator = new Random();// Random objekt oprettes

            // Tilfældige tal mellem max og min
            tal1= generator.nextInt(tael)+ naev;
            tal2= generator.nextInt(tael)+ naev;

            // generel formel for beregningen udregnes vha. klassen Metode3 - oprettet nederst.
            Metode3 regn = new Metode3 (tal1, tal2);


            // de generede tal sammenlægges med tegn, formel skabes
            System.out.println("Forkort :"+ tal1 + "/" + tal2);

            resultat=Keyboard.readString();
            // Resultatet udskrives
            System.out.println ("\t Resultat: "+ regn );
            System.out.println ();
        }

        recieveInput(resultat);
    }
    System.out.println ("Du har "+facit+" rigtige ud af "+antalopgaver);
}

public void recieveInput (String resultatm)
{
    total = Keyboard.readString();
    if ( total == resultatm)
    {
        facit++;
        System.out.println (" Rigtig !");
    }
    else
    {
        System.out.println (" Forkert!");
    }

class Metode3 // beregner type3 ligninger
{
    public int tæller, nævner;

    public Metode3 (int tæl, int næv)
    {
        // tilpasser så 0 ikke forekommer som nævner og tildeler tæller et "-"
        if (næv == 0)
        næv = 1;

        // negative tæller
        if (næv < 0)
        {
            tæl = tæl * -1;
            næv = næv * -1;
        }

        tæller = tæl;
        nævner = næv;

        forkort ();
    }

    // returnerer tælleren
    public int getTæller ()
    {
        return tæller;
    }

    // returnerer nævneren
    public int getNævner ()
    {
        return nævner;
    }


    // returnerer reciprokken af en bestemt værdi
    public Metode3 reciprokke ()
    {
        return new Metode3 (nævner, tæller);
    }

    // retunerer værdien og "/" som string
    public String toString ()
    {
        String resultat;

        if (tæller == 0)
            resultat = "0";
        else
            if (nævner == 1)
                resultat = tæller + "";
        else
            resultat = tæller + "/" + nævner;

        return resultat;
    }

    // forkorter værdien ved at dividere tæller og nævner med største fællesnævner
    public void forkort ()
    {
        if (tæller != 0)
        {
            // kalder metoden størstFællesnævner som heltal
            int fællesnævner = StørstFællesnævner (Math.abs(tæller), nævner);

            tæller = tæller / fællesnævner;
            nævner = nævner / fællesnævner;
        }
    }

    // beregner og retunerer den største fællesnævner vha. Euclids algoritme
    private int StørstFællesnævner (int num1, int num2)
    {
        while (num1 != num2)
            if (num1 > num2)
                num1 = num1 - num2;
            else
                num2 = num2 - num1;

        return num1;
    }
}
Avatar billede arne_v Ekspert
12. december 2002 - 17:15 #3
Den forrige version var meget bedre !
Avatar billede soreno Praktikant
12. december 2002 - 17:29 #4
En god teknik til kodeskrivning er en "uendelig" løkke af
edit->compile->run

Jo oftere du compiler des nemmere er det at lokalisere en slåfejl (eller andre fejl).

Det virker lidt som om du har brugt "big-bang" strategien - dermed mister du overblikket, hvilke jeg synes at kan læse mellem linierne i din kode ?
Avatar billede disky Nybegynder
12. december 2002 - 17:47 #5
michelle:

Lad venligst være med at holde din shift knap nede når du skriver.
Det betyder du råber, og er ret irriterende at læse.

p.s. Overvej størrelsen af dine point givninger.
Avatar billede michelle_mikkelsen Nybegynder
12. december 2002 - 19:23 #6
Hej allesammen!
Jeg er utrolig glad for jer alle sammens hjælp, at jeg simpelthen ikke kan beskrive det. Specielt tak til Arne og soreno... Jeg har faktisk forstået hvad det var jeg gjorde forkert, hele tiden. Det vil j ikke ku uden jeres hjælp.
Tak skal have gutter!! ;)
Avatar billede disky Nybegynder
12. december 2002 - 20:13 #7
øh hvad for Arne lige point for her ?
Avatar billede arne_v Ekspert
12. december 2002 - 20:20 #8
Spørgsmålet hænger sammen med:
http://www.eksperten.dk/spm/294021
som hænger sammen med:
http://www.eksperten.dk/spm/293889
Avatar billede disky Nybegynder
12. december 2002 - 20:34 #9
Som du allerede har fået point får.

hvorfor pludselig denne enorme mængde point for at lave ingen ting ?

Soreno har da i det mindste laver noget her og får ingen ting.


michelle:
Luk venligst det åbne spørgmål ved at svare selv og accepter eget svar. Denne pointoverførsel uden at lave noget er IKKE lovlig.

P.s. Rart at du har fået hjælp osv, men overhold venligst reglerne.
Avatar billede arne_v Ekspert
12. december 2002 - 20:36 #10
Siden hvornår har:
  - beskrevet den algoritme der skal bruges
  - rettet kode til så den virker
  - konverteret samme kode fra cs1.* til java.io.*
været ingenting ?
Avatar billede arne_v Ekspert
12. december 2002 - 20:38 #11
Og hvilke regler er overtrådt ?
Avatar billede disky Nybegynder
12. december 2002 - 20:44 #12
Du får point uden arbejde, din ENESTE posting inden jeg borede i det var 'Den forrige version var meget bedre !'

Så fik du point, selvom det var Soreno der lavede et forsøg.

Du postede ingen referencer osv, som er almindeligt kotume osv, for at specificerer hvorfor du fik så mange point uden arbejde.

Det er korrekt du i en af de andre tråde har gjort ovenstående ting, men den tråd er ÅBEN endnu, så laver michelle en ny (denne tråd) og giver dig point.

p.s. Det er michelle jeg beder om at overholde reglerne om ikke bare at overføre point uden grund, og ikke stille samme spørgsmål flere gange osv.

Men du tangerer også point reglerne ved bare at modtage uden at undre dig over hvorfor !
Avatar billede arne_v Ekspert
12. december 2002 - 20:55 #13
Jeg må vist lige skære det ud i pap:
- hun stillede et spørgsmål
- jeg svarede
- hun kunne ikke få det til at virke og stillede
  et nyt spørgsmål om det
- fordi hun ikke fik noget tilfredsstillende svar prøvede
  hun at løse problemet på en anden måde og det virkede
  heller ikke og så stillede hun et tredie spørgsmål
- jeg kom så med en løsning på problemerne i spørgsmål 2
  (som er en forlængelse af spørgsmål 1)
- og jeg besvarede spørgsmål 3 med at fortælle at hun skulle
  gå tilbage til den oprindelige løsning, fordi den var bedre
  (og med mine rettelser så virker dne også)

Det er lidt forvirrende. Men så vidt jeg kan se helt i overensstemmelse
med reglerne. Det er 3 forskellige spørgsmål. Bevares de relaterer
sig til samme problem, men hvis flere spørgsmål til samme problem
er ulovlige så tror jeg det vil tynde voldsomt ud i spørgsmålene her.

Jeg undrede mig ikke over pointene fordi jeg da absolut føler jeg
har arbejdet for dem.

Du har dog fuldstændigt ret i at der ikke skulle have stået
"forrige version", men "versionin i <link til spm.>", men det er
jo rettet nu, så jeg håber at alle er glade og tilfredse !

:-)
Avatar billede disky Nybegynder
12. december 2002 - 21:13 #14
Hvis du mener du har arbejdet for dem, hvorfor pokker er den OPRINDELIGE tråd så IKKE lukket ???

Bortset fra det plejer man at snakke videre om samme problem i samme tråd :-)

Jeg er ligeglad med du får lidt point, man kan alligevel ikke bruge dem til noget fornuftigt, men der skal stadigvæk være orden på tingene.

I fremtiden husk venligst at post en REFERENCE til årsagen, ellers er det ulovlig point overførsel.
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