gpt4 book ai didi

java - 如何保存变量值?

转载 作者:行者123 更新时间:2023-12-02 02:57:17 28 4
gpt4 key购买 nike

该程序旨在存储余额,并在我输入新收入时增加值(value),并在我输入新费用时减少值(value)。但是,当我输入费用时,我的余额值变为负数,就好像每当我开始费用 Activity 时整数 Bal 都会重置为 0。

    //Buttons
btnExpense = (Button)findViewById(R.id.btnExpense);
btnExpense.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent expenseIntent = new Intent(Mainmenu.this, expenses.class);
startActivity(expenseIntent);
}
});

btnIncome = (Button)findViewById(R.id.btnIncome);
btnIncome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent incomeIntent = new Intent(Mainmenu.this, Income.class);
startActivity(incomeIntent);
}
});



Intent startIntent = getIntent();
Intent RecordExpense = getIntent();
int Expense = RecordExpense.getIntExtra("intExpense", 0);
Intent RecordIncome = getIntent();
int Income = RecordIncome.getIntExtra("intIncome", 0);

int Bal = startIntent.getIntExtra("intBalance", 0);


TextView tvResult=(TextView) findViewById(R.id.tvResult);
tvResult.setText(Bal +"");
if(getIntent().hasExtra("intIncome")) {
Bal=Bal+Income;

tvResult.setText(Bal + "");
}
if(getIntent().hasExtra("intExpense")) {

Bal=Bal-Expense;
tvResult.setText(Bal + "");
}

每当我输入 10 作为 Bal,5 作为费用时,我预计会显示 5,但它显示 -5

最佳答案

看来您的“Bal”是您从“startIntent”获取的局部变量。更新后,您不会将“Bal”设置回“startIntent”。所以在'startIntent'中它的值始终为0。并且每次收入和支出操作都是在0上进行的。

您需要在 Intent 类中定义一个方法来更新“intBalance”中的余额。 startIntent.setIntExtra("intBalance", Bal);

关于java - 如何保存变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57068795/

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