我们有一个HashMap Integer/String,在Java中,我们将遍历HashMap并通过单击按钮一次显示3个键值对。下面的Java代码
hm.put(1, "1");
hm.put(2, "Dwight");
hm.put(3, "Lakeside");
hm.put(4, "2");
hm.put(5, "Billy");
hm.put(6, "Georgia");
hm.put(7, "3");
hm.put(8, "Sam");
hm.put(9, "Canton");
hm.put(10, "4");
hm.put(11, "Linda");
hm.put(12, "North Canton");
hm.put(13, "5");
hm.put(14, "Lisa");
hm.put(15, "Phoenix");
onNEXT(null);
public void onNEXT(View view){
etCity.setText("");
etName.setText("");
etID.setText("");
X = X + 3;
for(int L = 1; L <= X; L++ ){
String id = hm.get(L);
String name = hm.get(L = L + 1);
String city = hm.get(L = L + 1);
etID.setText(id);
etName.setText(name);
etCity.setText(city);
}
if(X == hm.size()){
X = 0;
}
}
我们解码让Android Studio把上面的Java代码转换成Kotlin
转换器决定改变
for(int L = 1; L <= X; L++)
String name = hm.get(L = L + 1); String city = hm.get(L = L + 1);
我们将在下面发布Kotlin代码并提出问题
fun onNEXT(view: View?) {
etCity.setText("")
etName.setText("")
etID.setText("")
X = X + 3
var L = 0
while (L <= X) {
val id = hm[L - 2]
val name = hm.get(L - 1)
val city = hm.get(L)
etID.setText(id)
etName.setText(name)
etCity.setText(city)
L++
}
if (X == hm.size) {
X = 0
}
}
我们试着像这样为下一个循环写一个
for (L in 15 downTo 0 step 1)
看来你数不到所以我们想用
hm:size
值15,使用
downTo
所以问题是
如何使用Kotlin作为下一个循环语法并在构造中包含hm:size?
L = L + 1
在While循环或For Next循环中为什么?
下面是奇怪的部分注意,我们可以使用
X = X + 3
X
在上面声明为内部
var X = 0
L
同样的方式