gpt4 book ai didi

java - 编译器说变量尚未初始化

转载 作者:行者123 更新时间:2023-12-04 10:03:46 24 4
gpt4 key购买 nike

我是 Java 和 Android Studio 的初学者。我制作了一个(有点复杂)计算器,可以计算分数以及整数和混合分数。它的工作原理是首先将输入的数字(无论采用哪种格式)转换为分数,然后进行计算。这是代码的一部分:

buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String fraction_1 = editTextNum1.getText().toString();
String fraction_2 = editTextNum2.getText().toString();
int Num1, Den1, Num2, Den2;
if (fraction_1.contains("/") && !fraction_1.contains(" ")){
Num1 = Integer.parseInt(getFraction(fraction_1)[0]);
Den1 = Integer.parseInt(getFraction(fraction_1)[1]);
} else if (fraction_1.contains(" ") && fraction_1.contains("/")){
int[] frac1 = convertFromMixed(fraction_1);
Num1 = frac1[0];
Den1 = frac1[1];
}
else if (!fraction_1.contains("/")) {
Num1 = Integer.parseInt(fraction_1);
Den1 = 1;
}
else{
invalidinput invalidinput = new invalidinput();
invalidinput.show(getSupportFragmentManager(), "num1error");

}
if (fraction_2.contains("/") && !fraction_2.contains(" ")){
Num2 = Integer.parseInt(getFraction(fraction_2)[0]);
Den2 = Integer.parseInt(getFraction(fraction_2)[1]);
} else if (fraction_2.contains(" ") && fraction_2.contains("/")){
int[] frac2 = convertFromMixed(fraction_1);
Num2 = frac2[0];
Den2 = frac2[1];
}
else if (!fraction_2.contains("/")){
Num2 = Integer.parseInt(fraction_2);
Den2 = 1;
} else{
invalidinput invalidinput = new invalidinput();
invalidinput.show(getSupportFragmentManager(), "num2error");

}

int commonDen = getLCM(Den1, Den2);
Num1 = (commonDen/Den1)*Num1;
Num2 = (commonDen/Den2)*Num2;
int addNum = Num1 + Num2;

if (simplify.isChecked()){
String result = simplify(addNum, commonDen);
result = checkFor1(result);
result = checkForWhole(result);


textViewResult.setText(result);
} else {
String result = addNum + "/" + commonDen;
result = checkFor1(result);
textViewResult.setText(result);
}
}
});

在计算 commonDen 的最后一部分出现错误。它表示 Num1、Num2、Den1 和 Den2 尚未初始化。
这只是加法部分。无论在何处使用这些变量进行计算,我都会收到错误消息。请帮忙。

最佳答案

所以你必须初始化变量。你可以通过

改变

int Num1, Den1, Num2, Den2;


int Num1 = 0, Den1 = 0, Num2 = 0, Den2 = 0;

关于java - 编译器说变量尚未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61693368/

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