-2

配列をソートしたい。私はedittextフィールドから入力を受け取り、1桁を配列に変換する方法を理解することができません。最初アンドロイドスタジオでは、どうすればEditTextフィールドに数字を入力できますか? 1452とそれを整数配列{1,4,5,2}に変換する

+1

でそれを変換するには、整数に各文字を変換し、文字列から各文字を抽出し、その後、整数を文字列に変換します。 –

答えて

0

があなたの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 
    } 
} 
+0

ありがとうございました!あなたは救い主です。括弧や昏睡のない配列を得ることができます。 –

+0

上記の私の編集された回答を参照してください。私はあなたがこれらのことを自分でコーディングしようとしていることを期待しています。 私の答えが役立っている場合は、私の投稿の上下の矢印の下にあるグレーのチェックマークをクリックして回答を受け入れてください。 – jtwaller

+0

ありがとうBro!作品は完璧!新しいユーザーとしてあなたの答えを実際に投票することはできません! –

0

だけでなく、その後

String s = yourEditText.toString(); 
Integer digitNumber = s.length(); 
Integer i = Integer.valueOf(s); 

を行うULL UのMod演算子を使用してこれを行うので、

new Integer[] I = new Integer[digitNumber]; 
for(int i=0; i<digitNumber;i++){ 
    I[i] = i % 10; 
    i = i/10; 
} 
+0

これは正しいですか?挿入のソートを試しています public void iSort(int [] a){ String text = input.getText()。toString(); int [] array =新しいint [テキスト。長さ()]; (int i = 0; i -1)&&(array [i]> key)){ array [i + 1] = array [i]; i--; } 配列[i + 1] =キー。 printnumbers(array); –

+0

__m int [a] 'とは何ですか? – BAAAZINGA

0

だけので好きです...あなたの文字列を取得し、parseIntは

String number = "10"; 
int result = Integer.parseInt(number); 
+0

それに答える前に慎重に質問を読んでください。 –

関連する問題