Java 打印我的实例变量时出现问题
我有个问题。当我在控制台中编写示例18时,它只打印0。我还想知道,当我创建一个新的car对象时,如何打印所有实例变量。非常感谢Java 打印我的实例变量时出现问题,java,object,instance-variables,Java,Object,Instance Variables,我有个问题。当我在控制台中编写示例18时,它只打印0。我还想知道,当我创建一个新的car对象时,如何打印所有实例变量。非常感谢 public class mad { public static void main(String[] args) { java.util.Scanner tastatur = new java.util.Scanner(System.in); int answer = tastatur.nextInt(); c
public class mad {
public static void main(String[] args) {
java.util.Scanner tastatur = new java.util.Scanner(System.in);
int answer = tastatur.nextInt();
car carA = new car();
carA.createCar(answer);
System.out.println(carA.number);
}
}
class car {
int number;
void createCar(int n) {
n = number;
}
}
你写了n=number而不是number=n 应该是这样的:
void createCar(int n) {
this.number = n;
}
要打印所有实例变量,请参见:在构造函数行n=number中;应该是number=n;。
您得到的是0,因为默认情况下实例变量初始化为bt 0或等效值。
要打印所有变量,必须定义一个函数。最好的方法是重写对象类的toString方法 在您的汽车课程中,您目前正在做以下工作:
int number;
void createCar(int n) {
n = number; // you're assigning n to the value of number
}
切换这些选项,使其显示:
int number;
void createCar(int n) {
this.number = n; // now you're assigning number to the value of n
}
你在班车上的作业与你想做的恰恰相反。将始终为0的字段编号指定给参数n。您要做的是将参数n分配给字段号。 因此,解决办法是替换
n = number;
与
顺便说一下:按照惯例,类名应该以大写字母开头
number = n;