Avatar billede Max Novice
22. november 2001 - 15:39 Der er 8 kommentarer og
2 løsninger

Klasser.. HASTER.. please help..

Hej alle..

Jeg sidder og er ved at lave et program, men jeg kan absolut ikke tænke i dag, og sidder nu uhjælpeligt fast. I får lige koden og fejlmeldingen. Håber I kan hjælpe mig. Det haster, så der bliver givet høje points for hurtigt og korrekt svar.

---------------------- Hovedprogrammet ---------------

import java.io.*;
public class KinesiskLotteri {
  public static void main(String[] args) {
    final String FILNAVN = \"gevinst.txt\";
    final int ANTAL_LODDER = 100;
    final int ANTAL_GEVINSTER = 10;
    KinesiskGevinst[] gevinster = new KinesiskGevinst[ANTAL_GEVINSTER];
    KinesiskLod[] lodder = new KinesiskLod[ANTAL_LODDER];

    initierLodder(lodder);
    if (gevinsterHentet(FILNAVN,gevinster[]))
      System.out.println(FILNAVN+\" åbnet.\");
    else {
      System.out.println(FILNAVN+\" kunne ikke åbnes.\");
      System.halt;
    }
  }

  public static void initierLodder(KinesiskLod[] tabel) {
    for(int i=0;i<tabel.length;i++)
      tabel[i] = new KinesiskLod();
  } // initierLodder

  public static boolean gevinsterHentet(String fil, KinesiskGevinst[] gevinst) {
    try {
      FileReader laes = new FileReader(fil);
      BufferedReader indfil = new BufferedReader(laes);
      String inputline;
        int taeller=1;
        int kroner=0;
        String haffenjen=\"\";
      while((inputline=indfil.readLine()) !=null) {
        kroner=Integer.parseInt(inputline.substring(0,9));
          haffenjen=inputline.substring(10);
        gevinst[taeller] = new KinesiskGevinst(kroner,haffenjen);
          taeller++;
        }
      indfil.close();
    } // try
    catch(IOException e) {
      return false;
      System.exit(0);
    } // catch
    return true;
  } // hentGevinster
}

---------------------- 1. klasse ---------------------

public class KinesiskLod {
  static int nummer=0;
  boolean trukket=false;
  int vaerdi=0;
  String txt=\"\";

  public KinesiskLod() {
    nummer++;
  } // constructor

  public void traek() {
    trukket=true;
  } // traek

  public void tildel(int beloeb, String tekst) {
    vaerdi=beloeb;
    txt=tekst;
  } // tildel

} // KinesiskLod klasse

----------------------- 2. klasse --------------------

public class KinesiskGevinst {
  int vaerdi=0;
  String tekst=\"\";

  public KinesiskGevinst(int tal, String resten) {
    vaerdi=tal;
    tekst=resten;
  } // constructor

} // KinesiskGevinst class



---------- slut ----------

På forhånd tak
/Memnoch
Avatar billede carstenknudsen Nybegynder
22. november 2001 - 15:41 #1
Hvad er fejlbeskeden.
Avatar billede logical Nybegynder
22. november 2001 - 15:52 #2
Ret linien:
    if (gevinsterHentet(FILNAVN,gevinster[]))
til
    if (gevinsterHentet(FILNAVN,gevinster))

Ret
  System.halt;
til
  System.exit(0);
Avatar billede Max Novice
22. november 2001 - 15:55 #3
hehe, shite.. det glemte jeg.. her kommer den :

-Called Compiler c:\\JDK\\BIN\\JAVAC.EXE-
-Target File: M:\\JAVASO~1\\KinesiskLotteri.java-
M:\\JAVASO~1\\KinesiskLotteri.java:20: \'.class\' expected
    if (gevinsterHentet(FILNAVN,gevinster[]))
                                                ^
M:\\JAVASO~1\\KinesiskLotteri.java:21: \')\' expected
      System.out.println(FILNAVN+\" åbnet.\");
                                                ^
M:\\JAVASO~1\\KinesiskLotteri.java:24: not a statement
      System.halt;
            ^
M:\\JAVASO~1\\KinesiskLotteri.java:20: cannot resolve symbol
symbol  : class gevinster 
location: class KinesiskLotteri
    if (gevinsterHentet(FILNAVN,gevinster[]))
                                    ^
M:\\JAVASO~1\\KinesiskLotteri.java:20: unexpected type
required: value
found  : class
    if (gevinsterHentet(FILNAVN,gevinster[]))
                                              ^
5 errors

-Finished-
Avatar billede Max Novice
22. november 2001 - 15:57 #4
System.exit(0); giver

-Called Compiler c:\\JDK\\BIN\\JAVAC.EXE-
-Target File: M:\\JAVASO~1\\KinesiskLotteri.java-
M:\\JAVASO~1\\KinesiskLotteri.java:51: unreachable statement
      System.exit(0);
      ^
1 error

-Finished-
Avatar billede carstenknudsen Nybegynder
22. november 2001 - 16:00 #5
Du returnerer false lige før System.exit(0),
den går ikke. Du kan enten returnere
eller System.exit\'e.
Avatar billede Max Novice
22. november 2001 - 16:02 #6
kan jeg ikke afslutte programmet.. argh. jeg kommer fra Delphi platform, og der var et simpelt halt nok til at afslutte det hele.. Hvad skal jeg ellers bruge, hvis System.exit(0); ikke virker?
Avatar billede carstenknudsen Nybegynder
22. november 2001 - 16:04 #7
Det kan du godt, men så udelad
return false;
Så er det iorden.
Avatar billede Max Novice
22. november 2001 - 16:05 #8
jamen - nu kan det godt være at det er mig, der er lidt dense - men false\'en er jo betingelsen for at det hele skal afslutte...?
Avatar billede logical Nybegynder
22. november 2001 - 16:05 #9
System.exit(0);

virker fint, den kommer bare ikke ned til den statement fordi du sikkert returner forinden.

Ret evt. fra
return false;
System.exit(0);

til

System.exit(0);
return false;
Avatar billede Max Novice
22. november 2001 - 16:09 #10
fuck, nu fatter jeg det! hehehe, jeps det var mig der tænkte med den forkerte røv..! ok, logical; du svarede på hovedspørgsmålet, så 100 points til dig, og carstenknudsen; point til dig også..

Tak for hjælpen begge to.
/Memnoch
(jeg vender nok tilbage om et øjeblik, hehe)
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