一、具体功能实现
运行项目后点击数字和运算符,然后点击运算得到结果
如果直接点击计算会给出提示

如何输入不符合要求的算式会给出提示
例如
第一项是运算符或连续输入运算符或最后一项是运算符会提示



0做除数会提示

正常测试

结果

二、部分核心代码展示
// 循环数字数组
for (int i = 0; i < numButtons.length; i++) {
int finalI = i;
numButtons[i].setClickedListener((component) -> text.setText(text.getText() + numButtons[finalI].getText()));
}
// 循环操作符数组
for (int i = 0; i < operatorButtons.length; i++) {
int finalI = i;
operatorButtons[i].setClickedListener((component) -> {
if(text.getText().equals("")) {
new ToastDialog(getContext()).setAutoClosable(true).setSize(800,100).setDuration(2000).setText("请先输入数字").show();
return;
} else if(operators.contains(text.getText().substring(text.length()-1))) {
new ToastDialog(getContext()).setAutoClosable(true).setSize(800,100).setDuration(2000).setText("请不要连续输入运算符").show();
return;
}
text.setText(text.getText() + operatorButtons[finalI].getText());
}
);
}
// 设置退格键的点击事件
backspace.setClickedListener((component) -> {
if (text.getText()!=null && !text.getText().trim().equals(""))
{
text.setText(text.getText().substring(0,text.length()-1));
}
});
// 计算结果
button.setClickedListener((component) -> {
String target = text.getText();
if (operators.contains(text.getText().substring(text.length()-1))) {
new ToastDialog(getContext()).setAutoClosable(true).setSize(800,100).setDuration(2000).setText("请不要以运算符结尾").show();
return;
} else if (target.contains("错误")) {
new ToastDialog(getContext()).setAutoClosable(true).setSize(800,100).setDuration(2000).setText("请").show();
return;
}
try {
if ((Calculate.cacl(Calculate.analyze(target)) + "").equals("Infinity")) {
new ToastDialog(getContext()).setAutoClosable(true).setSize(800, 100).setDuration(2000).setText("0不能作为除数").show();
} else {
text.setText(Calculate.cacl(Calculate.analyze(target))+ "");
}
} catch (Exception e) {
e.printStackTrace();
}
});
三、完整代码下载地址
https://gitee.com/jltfcloudcn/jump_to/tree/master/JLTFCalculator
相关推荐
听风写代码
405
0
小码农也有梦
306
0
程序猿老赵
172
0
一杯咖啡两千行
508
0宋你一朵小红花
我还没有写个人简介......
帖子
提问
粉丝
华为鸿蒙 HarmonyOS 6.0.0.108 SP2 Developer 版本新增 9 套桌面图标
2025-10-20 23:17:16 发布注意!华为开启鸿蒙6.0系统推送,稳定性提升
2025-10-14 15:10:36 发布