我遇到了问题。当我写作例如" 18"在控制台中,它只是打印" 0"。我还想知道在创建新的汽车对象时如何打印所有实例变量。非常感谢。
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;
}
}
答案 0 :(得分:3)
你写了" n =数字"而不是" number = n"
应该是这样的:
void createCar(int n) {
this.number = n;
}
要打印所有实例变量,请参阅:printing all variables
答案 1 :(得分:0)
在构造函数行n = number;
中应为number = n;
。
您将获得0
,因为实例变量默认初始化为0
或等效
要打印所有变量,您必须定义一个函数来执行此操作。最好的方法是覆盖toString()
类的Object
方法。
答案 2 :(得分:0)
在你的汽车课上,你现在正在这样做:
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
}
答案 3 :(得分:0)
您在课堂上的任务与您想要的任务相反。您将字段编号(始终为0)分配给参数n。您要做的是将参数n分配给字段编号。 所以解决方案是替换
n = number;
与
number = n;
顺便说一下:按惯例,类名应以大写字母开头。