0
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?

5
Contributors
9
Replies
10
Views
8 Years
Discussion Span
Last Post by Kabbelabb
0

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

0

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.

0

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

0

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).

0

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).

0

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

not

Person vn = new Person()
vn.print2

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.