Avatar billede weiseren Nybegynder
16. februar 2005 - 15:05 Der er 1 kommentar og
1 løsning

Hvorfor bliver der ikke noget displayed?

Min kode producere ikke nogen form for GUI som den gerne skulle, hvorfor?
 

import java.awt.*;
  import javax.swing.*;
  import java.io.*;
   
    public class FileSorter
  {
      public static void main(String[] args) throws IOException
      {
        new FileSorter();
      }
      public FileSorter() throws IOException
      {
     
        RandomAccessFile ccraf = new RandomAccessFile("cc.dat","rw");       
      }
      class Player //----- inner class simulates "records" -----------
      {
            String firstname;
            int age;
            final static int CC_RECORD_SIZE = 212;     
            final static int NAMELENGTH = 15;
           
     
          public  void writeToFile(RandomAccessFile ccraf, long recordNum)
        //-----------------------------------------------------------
        // Writes one record into ccraf, which must already be open
        // IOExceptions are detected and reported
        //-----------------------------------------------------------
        {
            try
            {
              ccraf.seek( recordNum * CC_RECORD_SIZE);
                      ccraf.writeChars(setLength(firstname,NAMELENGTH));
                    ccraf.writeInt(age);;
           
            }
                catch(IOException exc)
              {
                  JOptionPane.showMessageDialog (null, "While writing " + exc.toString());
              }
       
        }
          String setLength(String s,int len)
        //-----------------------------------------------------------
        // Forces length of string to a specific value
        // Necessary before writing into a random-access file
        //-----------------------------------------------------------
        {
            StringBuffer sb = new StringBuffer(s);
            sb.setLength(len);
            return sb.toString();
       
        }
     
      }
    //---- end of Player class -----------------
      void create(RandomAccessFile ccraf) throws IOException
      //-----------------------------------------------------------------
      // Puts records into ccraf, which must already be open
      //-----------------------------------------------------------------
      {
        Player thisRec = new Player();
        for (int c=0; c < 2; c++)
        {
            thisRec.firstname = JOptionPane.showInputDialog("");
                thisRec.age = Integer.parseInt(JOptionPane.showInputDialog(""));
            thisRec.writeToFile(ccraf,c);
       
        }
     
      }
  }
Avatar billede snoop_one Nybegynder
16. februar 2005 - 15:14 #1
ja, du kalder vel aldrig din create metode...
Jeg tror nok det vil virke hvis du sætter det ind i din main:

  RandomAccessFile ccraf = new RandomAccessFile("cc.dat","rw");     
  create(ccraf);
Avatar billede snoop_one Nybegynder
16. februar 2005 - 15:14 #2
og et svar
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