在 android studio 中,我如何将 EditText 字段中的输入作为数字输入,例如; 1452 并将其转换为整数数组{1,4,5,2}
In android studio how can i take input in EditText field as a number eg; 1452 and convert it into integer array{1,4,5,2}
我想对数组进行排序。我无法弄清楚如何从 edittext 字段获取输入并将单个数字转换为数组。
好吧先做
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;
}
从 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
}
}
就像这样...获取您的字符串并使用 parseInt
进行转换
String number = "10";
int result = Integer.parseInt(number);
我想对数组进行排序。我无法弄清楚如何从 edittext 字段获取输入并将单个数字转换为数组。
好吧先做
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;
}
从 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
}
}
就像这样...获取您的字符串并使用 parseInt
进行转换String number = "10";
int result = Integer.parseInt(number);