我的整数数组有问题,例如一个。我有类对象的类,我有不同的类,这些对象在按钮点击后递增,但是我得到了“null”值和NullPointerExpection。我把这一切都工作了,当我讨厌的时候,因为例如“int Money;”,但我的代码是12000行,我试图让它更容易阅读,等等。但现在使用数组它们不起作用。 我使用For Loops 来处理这个问题,但我理解的是,我无法使用循环,因为我想稍后从savefile加载这些值。
CarMainClass(这个不起作用):
package Clicker;
public class MainHolder {
public Integer main[] = new Integer[8];
public MainHolder(){
}
public void MainMaker(int k){
}
public void MakeMain(){
MainMaker(0); // Money
MainMaker(0); // Money Clicks
MainMaker(0); // Boxes
MainMaker(0); // Boxes Clicks
MainMaker(1); // Boxes Level
MainMaker(1); // Player Level
MainMaker(1); // Garage Level
MainMaker(0); // Garage Slots
}
}
CarMainClass(适用于for循环):
package Clicker;
public class MainHolder {
public Integer main[];
public MainHolder(){
main = new Integer[8];
for(int i=0; i <8;i ++){
if(i ==4 || i ==5 || i ==6){
MainMaker(1,i);
}else{
MainMaker(0,i);
}
}
}
public void MainMaker(int k,int p){
main[p] = k;
}
public void MakeMain(){
}
}
和按钮:
//Money Button Click
if(ae.getSource() == jbtnMoney) {
CarMain.main[0] += 1;
MoneyLabel.setText("Money: " + CarMain.main[0]);
CarMain.main[1] += 1;
MoneyClicksLabel.setText("Money Clicks: " + CarMain.main[1]);
}
工作时应用程序GUI: WorkingImage
应用程序GUI无法正常工作时+错误: NoWorkingImage
答案 0 :(得分:0)
它是CarMainClass的完整代码吗?似乎MainMaker方法不包含任何可执行代码,所以当你调用它时它不会做任何事情。单击按钮即可。 初始化的数组为空 - 仅包含空值,这就是它返回null的原因 - 当您在GUI上引用该值时。 您需要将其更改为此(我假设每个数字都描述了对象):
包Clicker;
public class MainHolder {
public Integer main[] = new Integer[8];
public MainHolder(){
MakeMain();
}
public void MainMaker(int k,int p){
main[p] = k;
}
public void MakeMain(){
MainMaker(0,0); // Money
MainMaker(0,1); // Money Clicks
MainMaker(0,2); // Boxes
MainMaker(0,3); // Boxes Clicks
MainMaker(1,4); // Boxes Level
MainMaker(1,5); // Player Level
MainMaker(1,6); // Garage Level
MainMaker(0,7); // Garage Slots
}
}
但是你使用循环的解决方案实际上更有意义。为什么你不能将它存储到文件中?您应该定义用于将应用程序描述为常量的整数 - 最终Integer money = 0,依此类推。 您可以将值存储到文件中,并使用索引将值映射到相应的值。或者将其存储为地图。