Java 如何使用自定义对象将int和double合并为字符串并在另一个类中返回值
所以我分了三节课:Java 如何使用自定义对象将int和double合并为字符串并在另一个类中返回值,java,concatenation,custom-object,Java,Concatenation,Custom Object,所以我分了三节课: NumberTester:所有测试用例的位置 Number:将int和double连接到公共字符串myStr中,然后 MyNumber:在这里创建另一个名为getStr()的方法并返回myStr的值 下面是代码。我的问题是,我将int和double连接到myStr中,然后运行numbertest的main方法。我应该得到17的输出,然后是3.0,然后是17,3.0,然后是173.0。但是,我得到的是null而不是173.0。谁能帮我解决这个问题 输出: 17 3.0 17 ,
NumberTester
:所有测试用例的位置
Number
:将int和double连接到公共字符串myStr中,然后
MyNumber
:在这里创建另一个名为getStr()的方法并返回myStr的值
下面是代码。我的问题是,我将int和double连接到myStr中,然后运行numbertest
的main方法。我应该得到17的输出,然后是3.0,然后是17,3.0,然后是173.0。但是,我得到的是null而不是173.0。谁能帮我解决这个问题
输出:
17
3.0
17 , 3.0
173.0
修正你的班号
public String toString(){
return myStr;
}
使用上述方法代替
public String toString(){
return (myInt + " , " + myDouble);
}
这个
修正你的MyNumber类
public Number getStr(){
return num;
}
returnnum,因为数字的myStr为null,所以根本不使用它。这就是为什么控制台中有null。它没有初始化。读取java原语类型和默认值。如果没有指定值,则对象为空。如果未指定值,则基元值具有默认值。这有助于解决你的数字类问题
public String toString(){
return myStr;
}
使用上述方法代替
public String toString(){
return (myInt + " , " + myDouble);
}
这个
修正你的MyNumber类
public Number getStr(){
return num;
}
returnnum,因为数字的myStr为null,所以根本不使用它。这就是为什么控制台中有null。它没有初始化。读取java原语类型和默认值。如果没有指定值,则对象为空。如果未指定值,则基元值具有默认值。这可能会有所帮助您没有在MyNumber中为myStr分配任何内容,因此在创建MyNumber时,JVM将其分配为null。(初始化过程)
这将起作用。您没有在MyNumber中为myStr分配任何内容,因此在创建MyNumber时,JVM将其分配为null。(初始化过程)
这将起作用。如果我理解正确,您必须从17和3.0返回173.0,您可以加上它们,就像“+myInt+myDouble”这样将为您提供173.0,在数字类的toString方法中,您可以返回myStr变量,您不需要>>(myInt+”,“+myDouble);你必须在MyNumber类中返回num变量,而不是myStr。如果我理解正确,你必须从17和3.0返回173.0,你可以加上它们,像这样“+myInt+myDouble,这将给你173.0,在你的Number类的toString方法中,你可以返回myStr变量,你不需要>>(myInt+”,“+myDouble);并且您必须在MyNumber类中返回num变量,而不是myStr。
public class MyNumber {
private int myInt;
private double myDouble;
public Number num;
public Number myStr;
public MyNumber(int i, double d) {
myInt = i;
myDouble = d;
num = new Number(myInt, myDouble);
myStr = new Number(myInt, myDouble);
}
public Number getBoth() {
return num;
}
public String getStr() {
return myStr.getMyStr();
}
}
public class Number {
public int myInt;
public double myDouble;
public String myStr;
public Number(int k, double d) {
myInt = k;
myDouble = d;
myStr = myInt + "" + myDouble;
}
public String toString() {
return (myInt + " , " + myDouble);
}
public String getMyStr() {
return myStr;
}
}
public class NumberTester
{
public static void main(String args[])
{
MyNumber me = new MyNumber(17, 3.0);
System.out.println(me.num.myInt);
System.out.println(me.num.myDouble);
System.out.println(me.getBoth());
System.out.println(me.getStr());
}
}