Avatar billede montymus Nybegynder
08. marts 2004 - 22:26 Der er 17 kommentarer og
1 løsning

forløkke med fejl nogen der kan hjælpe

Kan I se fejlen imin for løkke???

          public void doIt(){
        // opretter fil
        FileWriter fw=null;
        PrintWriter pw=null;
        try{
            fw = new FileWriter("bogkatalog.txt");
            pw = new PrintWriter(fw);
        }catch(IOException ioe){
            System.err.println("Fejl: Kunne ikke oprette en fil med navn bogkatalog.txt");
        }

        for (int i=0; i<opretLåner.; i++){
            OpretLåner opretlåner = opretlåner.getLåner(i);

            //skriver data til fil
            pw.println(this.lånerid);
            pw.println(this.lånernavn);
            pw.println(this.låneradresse);
            pw.println(this.lånercpr);
            pw.println(this.låneralder);
           
        }

        try{
            if(pw !=null) pw.close();
            if(fw !=null) fw.close();
        }catch(IOException ioe){
            System.err.println("Fejl: Kunne ikke lukke filen med navn lånerkatalog.txt");
        }
    }
Avatar billede ellebaek Nybegynder
08. marts 2004 - 22:29 #1
for (int i=0; i<opretLåner; i++){

sådan her måske
Avatar billede montymus Nybegynder
08. marts 2004 - 22:29 #2
har prøvet det..Det virker ikke
Avatar billede _carsten Nybegynder
08. marts 2004 - 22:31 #3
Tror ellebaek mener du skal fjerne punktummet mellem "opretLåner" og semikolon ";"
Avatar billede arne_v Ekspert
08. marts 2004 - 22:31 #4
punktummet skal ihvertfald væk

Men så ser:

for (int i=0; i<opretLåner.; i++){
            OpretLåner opretlåner = opretlåner.getLåner(i);

opretLåner/opretLåner/OpretLåner meget suspekt ud !
Avatar billede ellebaek Nybegynder
08. marts 2004 - 22:31 #5
præcis carsten ;-)
Avatar billede _carsten Nybegynder
08. marts 2004 - 22:32 #6
Og så skal du selvfølgelig have OpretLåner opretlåner = opretlåner.getLåner(i);
udenfor løkken


OpretLåner opretlåner = opretlåner.getLåner(i);
for (int i=0; i<opretLåner.; i++){
Avatar billede montymus Nybegynder
08. marts 2004 - 22:32 #7
har fjernet . kigger lige på det andet arne
Avatar billede arne_v Ekspert
08. marts 2004 - 22:32 #8
Næppe
Avatar billede _carsten Nybegynder
08. marts 2004 - 22:32 #9
opretlåner er ikke initieret når din løkke starter
Avatar billede arne_v Ekspert
08. marts 2004 - 22:32 #10
argument i kan ikke bruges udenfor løkken
Avatar billede montymus Nybegynder
08. marts 2004 - 22:33 #11
Det hele ser sådan ud...


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;

public class OpretLåner extends JPanel implements ActionListener {

    protected JTextField lånerid = new JTextField(15);
        protected JTextField lånernavn = new JTextField(15);
        protected JTextField låneradresse = new JTextField(15);
        protected JTextField lånercpr = new JTextField(15);
        protected JTextField låneralder = new JTextField(15);
        protected JRadioButton[] temp = {new JRadioButton("Mand"),
                                      new JRadioButton("Kvinde")};
        protected JButton ok = new JButton("Opret - ok");
    protected JButton cancel = new JButton("Opret - cancel");
        private OpretLåner opretlåner;
   
    //Methods
    //Constructor
    public OpretLåner(){
            this.opretlåner = opretlåner;
           
            setLayout(new BorderLayout());

            JPanel panel = new JPanel();
            panel.setLayout(new GridLayout(10,2));
            JLabel lånerIDLab = new JLabel("Låner Id");
            JLabel lånerNavnLab = new JLabel("Låners navn");
            JLabel lånerAdresseLab = new JLabel("Låners adresse");
            JLabel lånerCPRLab = new JLabel("CPR-nummer");
            JLabel lånerAlderLab = new JLabel("Alder");
                   
                ButtonGroup tempGr = new ButtonGroup();
                for(int butNum = 0; butNum < temp.length; butNum++){
                    tempGr.add(temp[butNum]);
                 
                }
                           
        JPanel dataPanel = new JPanel();
        JPanel buttonPanel = new  JPanel();
       
       

        panel.add(lånerIDLab);
        panel.add(lånerid);
                panel.add(lånerNavnLab);
        panel.add(lånernavn);
                panel.add(lånerAdresseLab);
        panel.add(låneradresse);
                panel.add(lånerCPRLab);
        panel.add(lånercpr);
                panel.add(lånerAlderLab);
        panel.add(låneralder);
                panel.add(temp[0]);
                panel.add(temp[1]);
         
        add(panel,BorderLayout.CENTER);
             
        lånerid.requestFocus();
               
                buttonPanel.add(ok);
                buttonPanel.add(cancel);
                add(buttonPanel,BorderLayout.SOUTH);

       

        ok.addActionListener(this);
        cancel.addActionListener(this);
       

       
    }

    public void actionPerformed(ActionEvent hat){
        Object buttomPressed = hat.getSource();
        if (buttomPressed == ok){
            doIt();
        }
        else if

        (buttomPressed == cancel){

           

        }
       
    }
       
          public void doIt(){
        // opretter fil
        FileWriter fw=null;
        PrintWriter pw=null;
        try{
            fw = new FileWriter("bogkatalog.txt");
            pw = new PrintWriter(fw);
        }catch(IOException ioe){
            System.err.println("Fejl: Kunne ikke oprette en fil med navn bogkatalog.txt");
        }

        for (int i=0; i<opretlåner; i++){
            OpretLåner opretlåner = opretlåner.getLåner(i);

            //skriver data til fil
            pw.println(this.lånerid);
            pw.println(this.lånernavn);
            pw.println(this.låneradresse);
            pw.println(this.lånercpr);
            pw.println(this.låneralder);
           
        }

        try{
            if(pw !=null) pw.close();
            if(fw !=null) fw.close();
        }catch(IOException ioe){
            System.err.println("Fejl: Kunne ikke lukke filen med navn lånerkatalog.txt");
        }
    }



    public static void main (String [] args){
        JFrame ol = new JFrame();
                ol.getContentPane().add(new OpretLåner());
        ol.setSize(375,425);
        ol.setVisible(true);
        ol.setTitle("Stack mig i biiiip");
        ol.addWindowListener(
            new WindowAdapter() {
                public void windowClosing(WindowEvent e){
                    System.exit(0);
            }
        }
    );


}
   
}
Avatar billede Slettet bruger
08. marts 2004 - 22:33 #12
For at du kan iterere igennem alle dine Objekter i OpretLåner skal du ha' lavet en metode som kan returnere antallet af elementer i dette objekt (denne metode kan evt. kaldes size()).... Derefter kan du iterere igennem dette objekt med forløkken....:

for (int i=0; i<opretLåner.size(); i++) {

Håber at det kunne bruges til noget :-)
Avatar billede arne_v Ekspert
08. marts 2004 - 22:34 #13
Jeg tror at det skal være noget a la:

for(int i = 0; i < listevariabel.size(); i++) {
  ElementType e = listevariabel.get(i);
Avatar billede Slettet bruger
08. marts 2004 - 22:34 #14
my words exactly :-)

DAMN...der sker godt nok noget før man får postet sit svar ;-)
Avatar billede Slettet bruger
08. marts 2004 - 22:35 #15
næsten...exactly *host*
Avatar billede montymus Nybegynder
08. marts 2004 - 22:35 #16
øøhhh qe....Listevariabel og elemttype????
Avatar billede montymus Nybegynder
08. marts 2004 - 22:35 #17
kigger på det der må ku læses frem til det ang de fine ord hehe
Avatar billede labanos Nybegynder
09. marts 2004 - 10:56 #18
//Constructor
    public OpretLåner(){
            this.opretlåner = opretlåner;
intellij kalder et assignment som ovenstående et silly assignment... hvilket det også er.... skal du nok kigge på..
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