下面是有问题的代码:
public void setReminder() {
if (db.getTotalIncome(prefs.getString("username", "")) != 0.0 ||
db.getTotalExpenses(prefs.getString("username", "")) != 0.0 ||
db.getReminder(prefs.getString("username", "")) != null) {
Float income = db.getTotalIncome(prefs.getString("username", ""));
Float expense = db.getTotalExpenses(prefs.getString("username", ""));
Cursor reminder = db.getReminder(prefs.getString("username", ""));
if (reminder.moveToFirst() != false) {
String reminderValue = reminder.getString(reminder.getColumnIndex("value"));
if (expense <= Integer.parseInt(reminderValue)/100*income) {
PugNotification.with(this)
.load()
.title("Warning")
.message("Expenses nearing threshold")
.bigTextStyle("You have spent more than " + Integer.parseInt(reminderValue) / 100 + "% " + "of your income!")
.smallIcon(R.drawable.icon_flag)
.largeIcon(R.drawable.icon_flag)
.flags(Notification.DEFAULT_ALL)
.simple()
.build();
}
}
}
}
目前,在if(费用
if (db.getTotalIncome(prefs.getString("username", "")) != 0.0 ||
db.getTotalExpenses(prefs.getString("username", "")) != 0.0 ||
db.getReminder(prefs.getString("username", "")) != null)
也总是返回true。我读到float的默认值是0.0,那么我的代码是错的还是怎么了?
试用
expense.intValue() <= Integer.parseInt(reminderValue)/100*income
与您的其他if语句相同:
if (db.getTotalIncome(prefs.getString("username", "")).intValue() != 0 ||
db.getTotalExpenses(prefs.getString("username", "")).intValue() != 0 ||
db.getReminder(prefs.getString("username", "")) != null)
欲了解更多信息,请阅读以下答案:https://stackoverflow.com/a/29139595/284308
您的代码:
if (db.getTotalIncome(prefs.getString("username", "")) != 0.0 ||
db.getTotalExpenses(prefs.getString("username", "")) != 0.0 ||
db.getReminder(prefs.getString("username", "")) != null)
if中的表达式始终为true,因为您使用的是|
,意思是或
,因此如果任何参数为true,则整个表达式为true。在您的情况下,至少有一个参数是true
。
今天我注意到这个node.js代码: 给出输出 这很奇怪;如果某物不等于0或大于0,那么它为什么大于或等于0呢?发生什么事了?
问题内容: 我在PostgreSQL中有一个名为的关系,该关系包含2个字段:和,我想找到具有最高值的产品。据我所知,有两种方法可以做到: 或者 他们的执行速度有什么不同吗? 问题答案: 如果有任何行,第一个查询将失败(如Gordon所示)。 仅当所有行都具有时,第二个查询才会失败。因此,它在大多数情况下应该是可用的。(而且速度更快。) 如果在 Postgres 12或更早版本中 需要NULL安全查
问题内容: 我知道运算符的含义是大于或等于,但是我已经在一些源代码中看到了。该运算符是什么意思? 这是代码: 问题答案: 这是一个箭头功能。 箭头函数是ECMAscript 6引入的一种短语法,可以与使用函数表达式的方式类似地使用。换句话说,您经常可以使用它们代替诸如的表达式。但是它们有一些重要的区别。例如,它们不绑定自己的值(请参见下面的讨论)。 箭头功能是ECMAscript 6规范的一部分。
我目前正在Codecademy上学习JavaScript,我遇到了一些问题。我在一个叫做“建造石头,布,剪刀”的部分,有一个部分有一个条件,如果数学。random()大于0.33小于0.66,计算机将选择纸张。我的问题是,如何建立一个if条件,即某个东西大于X,但同时小于Y?
我想找到给定正整数数组中元素的最大数目,使得它们的和小于或等于给定的k。例如,我有一个数组 答案是3,因为1,2,3是求和6的最大元素。
此示例代码是否在所有系统上导致两个相等的值?