Escolar Documentos
Profissional Documentos
Cultura Documentos
Este código Java e XML representa uma simples aplicação Android para calcular a média
ponderada de três notas. A interface do usuário (UI) é definida no arquivo XML activity_main.xml
usando o ConstraintLayout, incluindo elementos como TextViews, EditTexts para inserção de
notas e um botão para acionar o cálculo da média.
A lógica de cálculo da média é implementada na classe MainActivity.java. O método
converter é chamado quando o botão "Calcular Média" é pressionado. O código Java realiza a
leitura das notas inseridas, identifica a maior delas e, em seguida, aplica uma fórmula condicional:
se a primeira nota (nota1) for zero, calcula a média ponderada com base na maior nota; caso
contrário, utiliza uma fórmula diferente que considera a primeira nota.
O layout responsivo e a lógica clara tornam este aplicativo uma ferramenta útil para
calcular médias ponderadas de notas, sendo um exemplo inicial ideal para quem está aprendendo
o desenvolvimento de aplicativos Android.
Metodologia do Cálculo
Optei pelo anexo por printar todo o manual, pois o exercício pede para envio do pdf
e word apenas.
activity_main.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.467"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.092" />
<TextView
android:id="@+id/resultado"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RESULTADO"
android:textSize="34sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.814" />
<Button
android:id="@+id/calcular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="converter"
android:text="Calcular Média"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.568" />
<EditText
android:id="@+id/nota3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Digita a Nota 3"
android:inputType="numberDecimal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.434" />
<EditText
android:id="@+id/nota1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Digite a Nota 1"
android:inputType="numberDecimal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.241" />
<EditText
android:id="@+id/nota2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Digita a Nota 2"
android:inputType="numberDecimal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.339" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.exemple.CalcularMedia;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v,
insets) -> {
Insets systemBars =
insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top,
systemBars.right, systemBars.bottom);
return insets;
});
nota1 = findViewById(R.id.nota1);
nota2 = findViewById(R.id.nota2);
nota3 = findViewById(R.id.nota3);
resultado = findViewById(R.id.resultado);
double nota1Calc =
Double.parseDouble(nota1.getText().toString());
double nota2Calc =
Double.parseDouble(nota2.getText().toString());
double nota3Calc =
Double.parseDouble(nota3.getText().toString());
double maiorNota = Math.max(nota1Calc, Math.max(nota2Calc,
nota3Calc));
double resultadoNota;
if (nota1Calc == 0) {
resultadoNota = maiorNota * 0.6;
} else {
resultadoNota = nota1Calc * 0.4 + (Math.max(nota2Calc,
nota3Calc) / 2.0);
}
}
Tela
3. CONCLUSÃO
DEITEL, Harvey M.; DEITEL, Paul J. Java: como programar. São Paulo: Pearson Prentice Hall,
2005. 1110 p. ISBN 8576050196. (BV).