gpt4 book ai didi

Java - 为什么这两个类不能相互通信?

转载 作者:行者123 更新时间:2023-12-01 11:57:33 26 4
gpt4 key购买 nike

我试图通过让 Bil 中的方法 Bagare() 与 Person 中的 bilagare() 对话来从 Person 获取名称。我的目的是让 bilagare() 通过 avläsNamn() (也在 Person 中)获取名称。我究竟做错了什么?我确信有更简单的方法可以做到这一点,但这是 Java 类中的一个作业,我们必须使用上面提到的类和方法。以下是 Bil 和 Person 两个类

package Objektorientering_kap_4;

import javax.swing.JOptionPane;

public class Bil{

Person ba;

public String regNum(){

String registrering = JOptionPane.showInputDialog("Ange registreringsnummer, utan mellanslag");

char l1 = registrering.charAt(0);
char l2 = registrering.charAt(1);
char l3 = registrering.charAt(2);
char n1 = registrering.charAt(3);
char n2 = registrering.charAt(4);
char n3 = registrering.charAt(5);

String N = ""+n1+n2+n3;
int NS = Integer.parseInt(N);

if(registrering.length() == 6 && 000 <= NS && NS <= 999 ){

String regnum = registrering;

return(regnum);

}
else{

String error = "Error";
return(error);

}


}

public String bilmarke(){

String marke = JOptionPane.showInputDialog("Ange bilmärke");

return(marke);

}

public String modell(){

String bilmodell = JOptionPane.showInputDialog("Ange bilmodell");

return(bilmodell);

}

public String Bagare(){

String namn = ba.bilagare();

return(namn);

}

}

package Objektorientering_kap_4;

import javax.swing.JOptionPane;

public class Person{

private String namn, adress;
private Person makeMaka;

public Person(String n){

namn = "Sven";

}

public String avläsNamn(){

return namn;

}

public void sättAdress(String adr){

adress = adr;

}

public String avläsAdress(){

return adress;

}

public void bröllop(Person p){

makeMaka = p;
p.makeMaka = this;

}

public void skilsmässa(){

makeMaka.makeMaka = null;
makeMaka = null;

}

public Person giftMed(){

return makeMaka;

}

public String bilagare(){

String agare = avläsNamn();

return(agare);

}

}

最佳答案

您从未初始化 ba 变量,因此它为 null,并且您无法通过该 null 引用调用 Person 的任何方法。也许您应该将 Person 对象传递给 Bil 的构造函数。

关于Java - 为什么这两个类不能相互通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28318245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com