【发布时间】:2016-09-20 21:40:01
【问题描述】:
我想对一个数组进行排序。我无法弄清楚如何从edittext字段中获取输入并将单个数字转换为数组。
【问题讨论】:
-
将整数转换为字符串,然后从字符串中提取每个字符,将每个字符转换为整数。
标签: java android android-layout android-studio android-arrayadapter
我想对一个数组进行排序。我无法弄清楚如何从edittext字段中获取输入并将单个数字转换为数组。
【问题讨论】:
标签: java android android-layout android-studio android-arrayadapter
从 EditText 中获取字符串,然后使用 for 循环将每个数字存储到数组中。
public class EditTextArray extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_text_array);
EditText et = (EditText) findViewById(R.id.editText);
et.setText("1452"); // Normally user input here...
String text = et.getText().toString();
int[] array = new int[text.length()];
for (int i = 0; i < text.length(); i++) {
array[i] = Character.getNumericValue(text.charAt(i));
}
Log.d("Output: ", Arrays.toString(array));
//09-20 14:27:45.272 20400-20400/com.jtwaller.test D/Output:: [1, 4, 5, 2]
StringBuilder sb = new StringBuilder();
for (int i = 0; i < text.length(); i++) {
sb.append(array[i] + " ");
}
Log.d("Output: ", sb);
//09-20 14:27:45.272 20400-20400/com.jtwaller.test D/Output:: 1 4 5 2
}
}
【讨论】:
先做好
String s = yourEditText.toString();
Integer digitNumber = s.length();
Integer i = Integer.valueOf(s);
然后你必须读取单个数字你通过使用 Mod 运算符来做到这一点
new Integer[] I = new Integer[digitNumber];
for(int i=0; i<digitNumber;i++){
I[i] = i % 10;
i = i/10;
}
【讨论】:
int[a] 甚至在那里做什么?
就这样做...获取您的字符串并使用 parseInt 进行转换
String number = "10";
int result = Integer.parseInt(number);
【讨论】: