GOOGLE ADS

mercredi 27 avril 2022

Comment retourner une double variable dans Kotlin

Je voudrais retourner le ffTotal après avoir additionné toute la valeur extraite de la base de données où la catégorie est "Aliments". Cependant, je n'arrive pas à renvoyer l'objet ffTotal. Le ffTotal dans le "return ffTotal" est en rouge, et le "ffTotal" dans la "var ffTotal" n'est jamais utilisé. Puis-je savoir pourquoi? Ci-dessous mes codes:

private fun getFoodTotal(fTotal: Double): Double {

val current = LocalDateTime.now()
val month = current.get(ChronoField.MONTH_OF_YEAR)
val year = current.get(ChronoField.YEAR)
val sqlCon = SQLCon()
var LoggedInUser: String? = intent.getStringExtra("Logged In User")
connection = sqlCon.connectionClass()!!
try {
val sql: String=
"SELECT SUM(eAmount) as sumFAmount from Expenses where Username = '$LoggedInUser'AND eMonth = '$month' AND eYear = '$year' AND Category = 'Food' GROUP BY eMonth, eYear"
statement = connection!!.createStatement()
var rs: ResultSet = statement!!.executeQuery(sql)
//return ffTotal
if (rs.next())
{
var ffTotal = rs.getDouble("sumFAmount")
}
rs.close()
statement!!.close()
Toast.makeText(this, "Success", Toast.LENGTH_LONG).show()
} catch (e: Exception) { Log.e("Error", e.message!!) }
return ffTotal
}


Solution du problème

Vous le déclarez à l'intérieur du bloc try, il n'est donc visible qu'à l'intérieur du bloc try. Déplacez le retour à l'intérieur du bloc try et ayez un retour séparé à l'intérieur du bloc catch (ou lancez une erreur). Sinon, déclarez-le avant le bloc try avec une valeur par défaut (cela n'a pas vraiment de sens, mais c'est une option).

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...