Лабораторная работа по «Мобильной и встраиваемой операционной системы»
Автор: weelcoom • Апрель 27, 2022 • Лабораторная работа • 1,742 Слов (7 Страниц) • 227 Просмотры
Лабораторная работа №4
по дисциплине «Мобильные и встраиваемые операционные системы»
Задача:
Создать приложение для ОС Android в среде Android Studio – конвертация десятичных чисел в двоичные и обратно.
Приложение конвертирует десятичные числа в двоичные и из двоичных в десятичные.
Код MainActivity.java (app/java/com.example.lab4/)
package com.example.lab4;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements OnClickListener {
private Button DecConvert;
private Button BinConvert;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Инициализация кнопки
DecConvert = (Button) findViewById(R.id.btnDecConvert);
BinConvert = (Button) findViewById(R.id.btnBinConvert);
//Установка слушателя
DecConvert.setOnClickListener(this);
BinConvert.setOnClickListener(this);
}
@Override
public void onClick(View view) {
int dec = -1;
if(DecConvert.equals(view)){
EditText decText = (EditText) findViewById(R.id.decText);
String decStr = decText.getText().toString();
if (decStr.length() > 0 && decStr.length() < 9)
dec = Integer.parseInt(decStr);
if (dec >= 0) {
String bin = "";
while (dec != 0) {
if (dec % 2 == 0)
bin = "0" + bin;
else
bin = "1" + bin;
dec = dec / 2;
}
EditText resultText = (EditText) findViewById(R.id.resultText);
resultText.setText(bin);
}
}
if(BinConvert.equals(view)){
EditText binText = (EditText) findViewById(R.id.binText);
String binStr = binText.getText().toString();
dec = Integer.parseInt(binStr);
char[] num = binStr.toCharArray();
int fun = 0;
int fin = 0;
if (dec >= 0) {
for (int i = 0; i < binStr.length(); i++) {
if (i == 0) {
fun = num[i] - '0';
} else {
fin = fun * 2 + (num[i] - '0');
fun = fin;
}
}
String bin1 = String.valueOf(fun);
EditText resultText = (EditText) findViewById(R.id.resultText);
resultText.setText(bin1);
}
}
}
@Override
public void onPointerCaptureChanged(boolean hasCapture) {
}
}
...