Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 19-12-2004, 17:35
bulbanos
Avatar van bulbanos
bulbanos is offline
Hey

ik heb een "telefoonboek" in .txt formaat staan en ik moet daarbij een programma maken die dat kan inlezen.
Ik doe dit via een 'BufferedReader out' en daarna out.readLine();

maar nu heb ik iemand met een achternaam van meerdere woorden en als ik die inlees krijg ik geen String maar een String rij

Kan ik dus een String rij naar 1 String omzetten?
Met citaat reageren
Advertentie
Oud 19-12-2004, 17:41
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Kan je niet werken met .Tostring() ?
Met citaat reageren
Oud 19-12-2004, 18:25
bulbanos
Avatar van bulbanos
bulbanos is offline
Citaat:
Fade of Light schreef op 19-12-2004 @ 18:41 :
Kan je niet werken met .Tostring() ?
een rij heeft geen toString() methode
Met citaat reageren
Oud 19-12-2004, 18:28
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Je kan in een lusje toch wel de rij achter elkaar plakken?!

Die .tostring was een beetje kansloos
Met citaat reageren
Oud 19-12-2004, 19:25
bulbanos
Avatar van bulbanos
bulbanos is offline
nee, dat is als je er van uitgaat dat het hoe dan ook een rij wordt, maar bij personen met een één woord achternaam gaat dat dan errors geven.
Met citaat reageren
Oud 19-12-2004, 23:57
McMotion
Avatar van McMotion
McMotion is offline
huh readLine() geeft gewoon een String terug hoor.. wat bedoel je met een rij trouwens? een array?
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 20-12-2004, 09:32
Kawoutertje
Avatar van Kawoutertje
Kawoutertje is offline
Kan je de variabele waarin je je gegevens opslaat (wat dus ofwel een string-variabele is, ofwel een string-array) niet gewoon parsen naar een string-variabele. Zodat de string array in één string variabele gestoken wordt ?

Met javascript gaat dat alleszins, maar het is lang geleden dat ik nog in echte java geprogrammeerd heb.

Moet wel lukken denk ik hoor, trouwens, een string is eigenlijk toch gewoon een array van char's. Niet ?
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
Met citaat reageren
Oud 20-12-2004, 16:19
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
bulbanos schreef op 19-12-2004 @ 20:25 :
nee, dat is als je er van uitgaat dat het hoe dan ook een rij wordt, maar bij personen met een één woord achternaam gaat dat dan errors geven.
Dat is wel heel maf, ik zou dan zeggen dat het een rij is, met slechts 1 element... Gare teringjava
Met citaat reageren
Oud 20-12-2004, 16:54
Verwijderd
Citaat:
bulbanos schreef op 19-12-2004 @ 18:35 :
ik heb een "telefoonboek" in .txt formaat staan en ik moet daarbij een programma maken die dat kan inlezen.
Ik doe dit via een 'BufferedReader out' en daarna out.readLine();
readLine() hoort altijd een String terug te geven en geen array:

http://www.cafeaulait.org/slides/int...javaio/57.html

http://java.sun.com/j2se/1.3/docs/ap....html#readLine()

Citaat:
Kan ik dus een String rij naar 1 String omzetten?
Juh, even alles bij elkaar optellen, maar ik vind het vaag dat je niet gewoon een String krijgt.
Met citaat reageren
Oud 20-12-2004, 17:18
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Trouwens, anders doe je een check of het een string is of stringarray, in geval van het laatste, zet je het ff om naar string, maar ik dnek dat er hier iets verkeerd gaat, want ik kan het me gewoon niet voorstellen
Met citaat reageren
Oud 21-12-2004, 11:15
Chimera
Avatar van Chimera
Chimera is offline
readLine() levert strings op, geen arrays van strings. Post je code eens, hier klopt niks van.

En: zo'n ding heet een array: geen rij.
Met citaat reageren
Oud 21-12-2004, 14:23
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Kawoutertje schreef op 20-12-2004 @ 10:32 :
Moet wel lukken denk ik hoor, trouwens, een string is eigenlijk toch gewoon een array van char's. Niet ?
nee, niet onder java
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 21-12-2004, 15:11
bulbanos
Avatar van bulbanos
bulbanos is offline
Citaat:
Chimera schreef op 21-12-2004 @ 12:15 :
readLine() levert strings op, geen arrays van strings. Post je code eens, hier klopt niks van.

En: zo'n ding heet een array: geen rij.
mja excuseer blijkbaar heb je gelijk en was ik mis.
Met citaat reageren
Oud 21-12-2004, 16:38
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
McMotion schreef op 21-12-2004 @ 15:23 :
nee, niet onder java
Intern wel.
Met citaat reageren
Oud 22-12-2004, 21:56
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Chimera schreef op 21-12-2004 @ 17:38 :
Intern wel.
er zit wel ergens een character array in de structuur van een String natuurlijk, maar het is een heel object op zich met z'n eigen velden en z'n eigen vtable, dus ook intern veel meer dan alleen aan character array
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 23-12-2004, 09:36
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
McMotion schreef op 22-12-2004 @ 22:56 :
er zit wel ergens een character array in de structuur van een String natuurlijk, maar het is een heel object op zich met z'n eigen velden en z'n eigen vtable, dus ook intern veel meer dan alleen aan character array
De string is een hybride tussen een echte class en een primitive. Intern wordt 'ie weldegelijk als een gewone array behandeld. Dat er aan boxing gedaan wordt doet daar niks aan af.
Met citaat reageren
Oud 23-12-2004, 09:36
Chimera
Avatar van Chimera
Chimera is offline
Maargoed. Gaan we nog code zien?
Met citaat reageren
Oud 24-12-2004, 09:36
Verwijderd
Ja idd, zo kunnen we er weinig mee..
Met citaat reageren
Oud 25-12-2004, 16:58
bulbanos
Avatar van bulbanos
bulbanos is offline
ik wil gerust mijn code eens posten maar het probleem doet zich blijkbaar toch niet voor zoals ik dacht:
Code:
import java.io.*;
import java.util.*;

class Persoon {
    private String vnaam;
    private String fnaam;
    private Telefoonnummer Tel;
    
    public Persoon(String vnaam, String fnaam, Telefoonnummer Tel){
        this.vnaam=vnaam;
        this.fnaam=fnaam;
        this.Tel=Tel;
    }
    public Persoon(){      
    }
    public String geefVnaam(){
        return vnaam;
    }
    public String geefFnaam(){
        return fnaam;
    }
    public Telefoonnummer geefTel(){
        return Tel;
    }
    public String toString(){
        return fnaam+ ", "+vnaam+": "+Tel;
        
    }
    public Persoon leesIn() throws IOException{
        InputStreamReader isr = new InputStreamReader (System.in);
        BufferedReader in = new BufferedReader (isr);
        System.out.println("Geef voornaam en naam in: ");
        vnaam = in.readLine();
        fnaam = in.readLine();
        System.out.println("Geef telefoonnummer in: ");
        Tel = new Telefoonnummer(Integer.parseInt(in.readLine()), in.readLine(),Integer.parseInt(in.readLine()));
        Persoon p = new Persoon(vnaam,fnaam,Tel);
        return p;
    }
}
class Telefoonnummer{
    private int land;
    private String zone;
    private int tel;
    
    public Telefoonnummer(int land, String zone, int tel){
        this.land=land;
        this.zone=zone;
        this.tel=tel;
    }
    public int geefLand(){
        return land;
    }
    public String geefZone(){
        return zone;
    }
    public int geefTel(){
        return tel;
    }
    public String toString(){
        return "+"+land+"/"+zone+tel;
    }    
}

class Telefoonboek{
    private ArrayList personen = new ArrayList();
    
    public Telefoonboek(){
        
    }
    public void voegToe(Persoon p){
        personen.add(p);
    }
    public void gidsAfdrukken(){
        for(int i=0; i<personen.size(); i++){
            System.out.println(personen.get(i));
        }        
    }
    public void leesManueel() throws IOException{
        Persoon p = new Persoon();
        p.leesIn();
        personen.add(p);
    }
    public void schrijfWeg(String naam) throws IOException{
         PrintWriter out = new PrintWriter(new FileWriter(naam));
         for(int i=0; i<personen.size(); i++){
                Persoon p = (Persoon)personen.get(i);
                out.println(p.geefVnaam());
                out.println(p.geefFnaam());
                out.println(p.geefTel().geefLand());
                out.println(p.geefTel().geefZone());
                out.println(p.geefTel().geefTel());
         }
         out.close();
         System.out.println("Weggeschreven naar "+naam+" in je directory\n");
    }
    public void leesBestand(String naam) throws IOException{
        BufferedReader in=new BufferedReader(new FileReader(naam));

        try{
            while(true){
                String vnaam =in.readLine();          
                String fnaam=in.readLine();       
//  îîî hier dacht ik dat het mis zou lopen als er 'Van de Velde' stond, tis niet zo
                int l = Integer.parseInt(in.readLine());
                String z = in.readLine();
                int t = Integer.parseInt(in.readLine());
                Telefoonnummer telefoon = new Telefoonnummer(l,z,t);
                Persoon p=new Persoon(vnaam,fnaam,telefoon);
                personen.add(p);
            }            
        }catch(Exception e){}
        in.close();
    }
    public void zoekFamilie(String fam){
        ArrayList familie = new ArrayList();
        for(int i=0; i<personen.size();i++){
            if(fam.equals(((Persoon)personen.get(i)).geefFnaam())){
                familie.add(((Persoon)personen.get(i)));
            }
        }
        System.out.println(familie);
    }
}
public class TelefoonboekTest{
    public static void main(String [] args) throws IOException{
        InputStreamReader isr = new InputStreamReader (System.in);
        BufferedReader in = new BufferedReader (isr);
        
        Telefoonboek t = new Telefoonboek();
        System.out.println("Hoeveel personen gaan we inlezen?");
        int aantal = Integer.parseInt(in.readLine());
        for(int i=0; i<aantal; i++){
            t.leesManueel();
        }
        t.gidsAfdrukken();
        t.schrijfWeg("Yellow.txt");
        
        System.out.println("---------------------------------------------");
        
        Telefoonboek ingelezen = new Telefoonboek();
        ingelezen.leesBestand("Belgacom.txt");
        System.out.println("Ingelezen:");
        ingelezen.gidsAfdrukken();
        ingelezen.zoekFamilie("Peeters");
    }
}
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 03:35.