Objekte tauschen

Xpisto

Aktives Mitglied
Hallo Ihr lieben, ich bereite mich auf die anstehende Klausur vor und mache gerade alte Klausuraufgaben wofür es leider keine Musterlösungen gibt.

Ich habe folgendes Problem, in der Aufgabenstellung steht, das zwei Personen ihr handy tauschen, das kriege ich nicht vernünftig hin.

Das Tauschen bei z.b. einfachen variablen sieht ja so aus wenn ich mich nicht irre:

[Java]

int a = 1;
int b = 2;

int tmp= b;
b= a;
a= tmp

[/Java]

Nun das ganze mit Objekten, hmm... Also hier die Aufgabenstellung, würde mich auch freuen wenn Ihr einen Blick über das ganze Programm werfen könnten, aber vorher die Aufgabe:





Das ist mein Code:

Java:
public class Handy {
	
	private String typ;
	private String nr;
	
	Handy(String typ, String nr)
	{
		this.typ = typ;
		this.nr= nr;
	
	}
	
	public void anzeigen()
	{
		System.out.println("Das Handy: " + this.typ + " hat die Nummer: " + this.nr);
	}
	
	public String getHandyNr()
	{
		return this.nr;
	}

}


_________________________________


public class Person {
	
	private String name;
	private Handy dasHandy;
	
	Person(String name, Handy dasHandy)
	{
		this.name = name;
		setHandy(dasHandy);
	}
	
	public void zeigeTelefonNummer()
	{
		
		System.out.println(dasHandy.getHandyNr());
	}
	
	
	public void tauscheHandys(Person p)
	{
		Handy tmp = p.getHandy(p);
		p.setHandy(tmp);
		
	}
	
	public void setHandy(Handy dasHandy)
	{
		this.dasHandy = dasHandy;
	}
	
	public Handy getHandy(Person p)
	{
		return this.dasHandy;
	}
	
	public String getName()
	{
		return this.name;
	}
	
	public void setName(String name)
	{
		this.name = name;
	}

}


_________________________________


public class test {
	
	public static void main(String args[])
	{
		Handy h1 = new Handy("HTC Desire", "0152111111");
		Handy h2 = new Handy("Iphone 3G","015222222");
		Person p1 = new Person("Christos",h1);
		Person p2 = new Person ("Dennis", h2);
		
		p1.zeigeTelefonNummer();
		p2.zeigeTelefonNummer();
		
		h1.anzeigen();
		
		
		p1.tauscheHandys(p2);
		
		p1.zeigeTelefonNummer();
		p2.zeigeTelefonNummer();
		
		
	}

}

Würde mich über antworten freuen.
 

ARadauer

Top Contributor
public Handy getHandy(Person p)
die Person musst du da nicht mitgeben... benötigst du auch nicht..

Code:
int tmp= b;
b= a;
a= tmp
ja stimmt, sind 3 schritte..


deine tausch methode...

Code:
public void tauscheHandys(Person p)
    {
        Handy tmp = p.getHandy(p);
        p.setHandy(tmp);
        
    }
mhn naja das sind 2 schritte

eher so ungefähr.. nicht getestet..
Code:
public void tauscheHandys(Person p)
    {
        Handy tmp = this.getHandy(); //meines merke ich mir temporär
        this.setHandy(p.getHandy()); //ich gebe mir seins
        p.setHandy(tmp); //und gebe ihm meines..
        
    }
 

Xpisto

Aktives Mitglied
ahh das klingt sehr sehr einleuchtend :) super dankeschön ich teste es gleich :)
Sieht der restliche code soweit inordnung aus? :) Danke nochmal!
 

Neue Themen


Oben