Разбиение числа на байты и собрать обратно, как ?

Ответить
Chvalov
Сообщения: 24
Зарегистрирован: 28 мар 2014, 16:57

Разбиение числа на байты и собрать обратно, как ?

Сообщение Chvalov » 19 дек 2014, 17:37

Здравствуйте, нужна ваша помощь
Есть поле для ввода числа enter_number_fields (Edit text) я ввожу сюда число (8 знаков максимум)
Например 91468415 (int)
И на выходе я бы хотел увидеть (byte char):
9 - Text1
1 - Text2
4 - Text3
6 -Text4 ....
8
4
1
5
после чего обратно собрать все в одну строку Construct_text (Edit text)

Вот мой начальный набросок элементов на форму:
layout-2014-12-19-163339.png
layout-2014-12-19-163339.png (24.08 КБ) 1297 просмотров
[syntax=java]public class MainActivity extends ActionBarActivity {

EditText enter_number_fields;
EditText Text1;
EditText Text2;
EditText Text3;
EditText Text4;
EditText Text5;
EditText Text6;
EditText Text7;
EditText Text8;
EditText Construct_text;

Button btn_num_byte;
Button btn_num_text;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// находим элементы
enter_number_fields = (EditText) findViewById(R.id.enter_number_fields);
Text1 = (EditText) findViewById(R.id.Text1);
Text2 = (EditText) findViewById(R.id.Text2);
Text3 = (EditText) findViewById(R.id.Text3);
Text4 = (EditText) findViewById(R.id.Text4);
Text5 = (EditText) findViewById(R.id.Text5);
Text6 = (EditText) findViewById(R.id.Text6);
Text7 = (EditText) findViewById(R.id.Text7);
Text8 = (EditText) findViewById(R.id.Text8);
Construct_text = (EditText) findViewById(R.id.Construct_text);

btn_num_byte = (Button) findViewById(R.id.btn_num_byte);
btn_num_text = (Button) findViewById(R.id.btn_num_text);
}

/* Разбивка строки */

public void btn_num_byte (View view)
{
Text1 = str[0];
Text2 = str[1];
Text3 = str[2];
Text4 = str[3];
Text5 = str[4];
Text6 = str[5];
Text7 = str[6];
Text8 = str[7];
}
/* Разбивка строки */

/* Собираем обратно */
public void btn_num_text (View view)
{
Construct_text.setText(Text1 + " " + Text2 + " " + Text3 + " " + Text4 + " " + Text5 + " " + Text6 + " " + Text7 + " " + Text8);
}
/* Собираем обратно */[/syntax]
это всего лишь набросок примера разбиение числа по одному символу (И то он не доделал), помогите пожалуйста сделать нормаль и по байтово разбирать и собирать в строку.

Заранее благодарен.

Вот пример, но это не то что мне нужно
http://stackoverflow.com/questions/1936 ... array-java

Аватара пользователя
Ghost.spb
Сообщения: 7
Зарегистрирован: 06 янв 2015, 13:46

Re: Разбиение числа на байты и собрать обратно, как ?

Сообщение Ghost.spb » 08 янв 2015, 15:31

Интересно, зачем такое могло быть нужно, но почему ByteBuffer не то? Прекрасно конвертирует в массив байт.

PS Так непривычно видеть вместо префикса on для имен методов-обработчиков... Да и название метода btn_num_byte какое-то не говорящее. Какой-нибудь parseText ожидал бы.

Аватара пользователя
vitaliy
Сообщения: 44
Зарегистрирован: 10 янв 2015, 14:28
Откуда: Украина

Re: Разбиение числа на байты и собрать обратно, как ?

Сообщение vitaliy » 10 янв 2015, 14:48

Добрый день. Насколько я понял, вам нужно просто разбить число на цифры (Судя по примеру). По - этому нужно использовать операцию остаток от деления(%) на десять в цикле. Например 123%10 = 3; 12 % 10 = 2; 1 % 10 = 1; конец цикла;
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.

Ответить