嗨,我有以下问题,到目前为止,我一直在使用Java,但是我开始学习Kotlin。使用EditText时,如何存储多个整数或双精度值。使用Java,我这样做是这样的:
double res;
int f = 0;
String[] values = editText.getText().toString().split("\\s");
for (int i = 0; i < 6; i++) {
res = Double.parseDouble(String.valueOf(values[f]));
f++;
}
double value1 = Double.valueOf(values[0]);
double value2 = Double.valueOf(values[1]);
double value3 = Double.valueOf(values[2]);
double value4 = Double.valueOf(values[3]);
double value5 = Double.valueOf(values[4]);
double value6 = Double.valueOf(values[5]);
我使用“ for”并存储在下面的编辑文本中输入的每个值。如何使用Kotlin做到这一点? 使用Android studio,我可以转换代码,但我做到了,但是当我按下按钮以显示我的结果时,应用程序关闭:
var res: Double
var f = 0
var i: Int
val values: List<String> = edit_text.toString().split("\\s")
for (i in 0..5) {
res = values[f].toDouble()
f++
}
val value1 = java.lang.Double.valueOf(values[0])
val value2 = java.lang.Double.valueOf(values[1])
val value3 = java.lang.Double.valueOf(values[2])
val value4 = java.lang.Double.valueOf(values[3])
val value5 = java.lang.Double.valueOf(values[4])
val value6 = java.lang.Double.valueOf(values[5])
textView.setText(String.format("%f, %f, %f, %f, %f, %f", value1, value2, value3, value4, value5, value6))
谢谢。
答案 0 :(得分:0)
EditText与您要实现的目标无关,因为它是Andorid SDK的一部分,而不是Java或Kotlin。 据我了解,您想解析输入值,添加它们,还要显示它们。尝试类似的东西:
val values: List<String> = edit_text.toString().split("\\s")
val amountOfValues: Int= values.size
val valuesAsDoubles: List<Double> = values.map{ it.toDouble() }
val result: Double = valuesAsDoubles.sum()
val stringToDisplay: String = valuesAsDoubles.joinToString("")
textView.setText(stringToDisplay)
了解有关集合操作的信息,例如。 map{}。