har stött på riktiga problem igen... :\ längst ner i Main.java anropas testet i Bostad.java som kollar om försäljaren är == det försäljarobjektet som sparats ovan i main. när det sedan ska kollas får jag errors, körde detta i Main innan:
String salesman, säljaren;
säljaren = p2.avLäsNamn();
Std.out.print("Skriv in säljarens namn: ");
salesman = Std.in.readLine ();
b.geSlutInfo(salesman, säljaren);
och detta i Bostad
public String geSlutInfo(String s_man, String s_man2){
// dvs if (s_man == s_man2){
if (s_man.equals(s_man2)){
// Skriv ut informationen om bostadsrätten*/
Std.out.println(toString());
}
else Std.out.println("Felaktig säljare.");
return "";
}
, men Säljaren måste anropas från Bostad, dvs p2.avLäsNamn(); måste komma i Bostad, typ som:
public String säljaren() {return p2.avLäsNamn();}
Men jag fattar inte, jag får inte tag på p2 ifrån Bostad.. varför inte?? Hur fixar jag detta??
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
PROGRAMKODEN
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Bostad.java:
import extra.*;
public class Bostad {
//instansvariabler
private String adress, säljaren, sale; private double storlek, avgift, utgångspris, slutpris, provision;
private Person köpare, säljare; private int ja;
//konstruktor
public Bostad(String adr, double str, double avg,
double upris, double prov) {
adress = adr; storlek = str; avgift = avg; utgångspris = upris; slutpris = 0; provision = prov;
}
//Instansmetoder
public void sättSlutpris(double spris) {
slutpris = spris;
}
public void sättKöpare(Person p) {
köpare = p;
}
public Person avläsköpare() {
return köpare;
}
public void sättSäljare(Person p) {
säljare = p;
}
public Person avläsSäljare() {
return säljare;
}
public String toString() {
return säljaren + "Adress: " + adress + "\nStorlek: " + storlek +
"\nMånadsavgift: " + avgift + "\nUtgångspris: " +
utgångspris + "\nSlutpris: " + slutpris +
"\nProvision: " + provision + "\nKöpare: " + köpare + "\nSäljare: " + säljare;
}
// public String geSlutInfo(String sale, String säljaren){
public String säljaren() {return p2.avLäsNamn();}
public String geSlutInfo(String sale){
if (sale.equals(sale)){
// Skriv ut informationen om bostadsrätten*/
Std.out.println(toString());
}
else Std.out.println("Felaktig säljare.");
return "";
}
}
Person.java:
public class Person {
//instansvariabler
private String namn, personnummer;
//konstruktor
public Person(String n, String pnr) {
namn = n; personnummer = pnr;
}
//Instansmetoder
public String avLäsNamn() {
return namn;
}
public String toString() {
return namn + "\nPersonnummer: " + personnummer;
}
}
Main.java:
import extra.*;
public class Main {
// Huvudprogrammet
public static void main (String[] arg) {
String salesman;
// Skapar ett Bostads-objekt
Bostad b = new Bostad("Storgatan 1, 234 56 Stockholm",
106.7, 2111.45, 3700000,5.6);
// Skapar ett Person-objekt (köparen)
Person p1 = new Person("Bertil Nyström","710519-4578");
// Skapar ett Person-objekt (säljaren)
Person p2 = new Person("Sarah Björk", "531002-3647");
// Sätt ett slutpris på bostadsrätten
b.sättSlutpris(3970000);
// Sätter köparen
b.sättKöpare(p1);
// Sätter säljaren
b.sättSäljare(p2);
// Kontrollerar om säljaren är samma person
Std.out.print("Skriv in säljarens namn: ");
salesman = Std.in.readLine ();
// b.geSlutInfo(salesman, säljaren);
b.geSlutInfo(salesman);
}
}