class Register {
    public static void main(String[] args) {
        Personer pr = new Personer();
        pr.settInnPerson("mrt","Kasra");
        pr.settInnPerson("avinnogg","Anders");
        pr.settInnPerson("omelgsto","Oyvind");
        pr.settInnPerson("joakibj","Joakim");
        pr.settInnPerson("richar","Richard");
        pr.settInnPerson("linnaad","Linn Kristin");
        pr.settInnPerson("hennikar","Henni");
        pr.settInnPerson("haavarte","Havard");
        pr.settInnPerson("rubendw","Ruben");
        pr.settInnPerson("dingh","Ding");
        pr.settInnPerson("nikitam","Nikita");
        pr.settInnPerson("huyt","Huy Quang");
        pr.settInnPerson("chunyuyc","Chun-Yu");
        pr.settInnPerson("kabeern","Kabeer");
        pr.taUttPerson("kabeern","Kabeer");
	pr.taUttPerson("chunyuyc","Chun-Yu");
        pr.print();
	System.out.println("------------------------------");


        Person skalFaVenn = pr.finnPerson("dingh","Ding");
        skalFaVenn.leggTilVenn("rubendw","Ruben");
        skalFaVenn.leggTilVenn("hennikar","Henni");
 	skalFaVenn.leggTilVenn("mrt","Kasra");
	skalFaVenn.leggTilVenn("avinnogg","Anders");
	skalFaVenn.fjernVenn("hennikar","Henni");

	Person vn = new Person("dingh","Ding");
	vn.print2();

    }

}




class Person {
    String brukernavn;
    String navn;
    Person neste; 
    Venn forstevenn;
    Venn sistevenn;
     
    void leggTilVenn(String brukernavn,String navn) {                                                                        
        Venn p = new Venn(brukernavn,navn);
        if ( forstevenn == null) {
            forstevenn = p;
            sistevenn = p;
        } else {
            sistevenn.nestevenn = p;
            sistevenn = p;
        } 
    } 
    void fjernVenn(String brukernavn, String navn) {
        Venn p = forstevenn;
        if(p.navn.equals(navn)&& p.nestevenn == null){
            forstevenn = null;
            return;
        }
        if(p.navn.equals(navn)){
            forstevenn=forstevenn.nestevenn;
            return;
        }
        while(p.nestevenn!= null && !p.nestevenn.navn.equals(navn))
            p=p.nestevenn;

        if (p.nestevenn == null){                     
            System.out.println("Ingen venn med denne navn");
            return;
        }
        if (p.nestevenn == sistevenn){
            p.nestevenn = null;
            sistevenn = p;
            return;
        }
	else p.nestevenn= p.nestevenn.nestevenn;
    }
    Person(String brukernavn, String navn) {
        this.brukernavn = brukernavn;
        this.navn = navn ;
    }
    void skriv() {
        System.out.println(navn);
    }
    void print2() {
        Venn p = forstevenn;
        while(p != null) {
            p.skriv2();
            p = p.nestevenn;
        }
    }
}

class Personer {
    Person forste;
    Person siste;

    void settInnPerson(String brukernavn,String navn) {                                                                        
        Person p = new Person(brukernavn,navn);
        if ( forste == null) {
            forste = p;
            siste = p;
        } else {
            siste.neste = p;
            siste = p;
        } 
    } 
    void taUttPerson(String brukernavn, String navn) {
        Person p = forste;
        if(p.navn.equals(navn)&& p.neste == null){
            forste = null;
            return;
        }
        if(p.navn.equals(navn)){
            forste=forste.neste;
            return;
        }
        while(p.neste!= null && !p.neste.navn.equals(navn))
            p=p.neste;

        if (p.neste == null){                     
            System.out.println("Ingen person med denne navn");
            return;
        }
        if (p.neste == siste){
            p.neste = null;
            siste = p;
            return;
        }

        else p.neste= p.neste.neste;
    }

    void print() {
        Person p = forste;
        while(p != null) {
            p.skriv();
            p = p.neste;
        }
    }
    Person finnPerson(String brukernavn, String navn) {
        Person p = new Person(brukernavn,navn);
        while(!p.brukernavn.equals(brukernavn)) {
            p = p.neste;    
        }
        return p;
    }              
}

class Venn{
    String brukernavn;
    String navn;
    Venn nestevenn; 
    Venn (String brukernavn, String navn){
        this.brukernavn = brukernavn;
        this.navn = navn;
    }
    void skriv2() {
        System.out.println(brukernavn);
    } 
}

Why function vn.print2(); doesnot print list?

Recommended Answers

All 9 Replies

Edit your post and use [code] [/code] tags around your code. Reading that unformatted wall of text will turn many away.

ok

Two possibilities here:
-the String of Venn is null.
-p is null and that is why the message is not printed.

Use System.out.println("Debug messages") to trace the execution of the code. This will help.

Which p is null ? First print method use samme way, and work.

When you do this:

Person vn = new Person("dingh","Ding");

you initialize only two fields, calling this:

Person(String brukernavn, String navn) {
        this.brukernavn = brukernavn;
        this.navn = navn ;
    }

and on the stage, when you trying to print info, you ask this

Venn p = forstevenn;
        while(p != null) {
        //....
        }

but forstevenn is non-initialized (is null).

You need to put "new Venn()" in your constructor or after the declaration of forstevenn, and make sure that the String object to print is initialized (via new).

Tnank you all. I understand problem i must write
skalForVenn.print2()

not

Person vn = new Person()
vn.print2

Can moderator delate or close this blog.

Very nice! I'm struggling a bit with the same assignment.

INF1010 ikke sant?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.