buenas buenas,,resulta que,,, tengo que hacer esto ,,pero ya de hay se ve que ,,es de tipo cíclica bien sea while ,for , do while
me tengo que crear los respectivos acumuladores,,pero como colocar esa condición ,,para saber lo de aprobados y reprobados ?
claro ya estoy haciendo algo :P pero sin POO :-\ :-\
- Dado N notas de un estudiante calcular:
a) Cuantas notas tiene reprobadas.
b) Cuantas aprobadas.
c) El promedio de notas.
d) El promedio de notas aprobadas y reprobadas.
import java.text.*;
import java.util.*;
public class NotasUdo {
public static void main(String[] args) {
Scanner entra = new Scanner (System.in);
int notas;
int aprobada=0;
int reprobada=0;
int nTotal=0;
int k=1;
double promedio;
System.out.println("Introduce numero de notas. ");
notas=entra.nextInt();
while(k<=notas ){
nTotal+=notas;
if(notas >)
k++;
}
}
}
>=10 aprobados también tienes que tener cuidado cuando calcules el promedio de no dividir por 0, ademas no estas pidiendo que se ingrese una nota
tengo esto... :rolleyes: :rolleyes:,,pero que vaa compayy no FUNKA :-\ :-\
import java.text.*;
import java.util.*;
public class NotasUdo {
public static void main(String[] args) {
Scanner entra = new Scanner (System.in);
int notas;
int aprobado=0;
int reprobado=0;
int nTotal=0;
double promedio,aPromedio,rPromedio;
int k=1;
System.out.println("Introduce notas. ");
notas=entra.nextInt();
while(k<=notas ){
nTotal+=notas;
System.out.println("Introduce nota. ");
notas=entra.nextInt();
if(notas >=5 ){
aprobado++;
}
else if(notas<=5){
reprobado++;
}
k++;
}
DecimalFormat dosdigitos=new DecimalFormat("0.00");
if(notas==0){
System.out.println("Error notas mal introducidas");
}
else
{
System.out.println("las notas aprobadas son: "+aprobado);
System.out.println("las notas reprobadas son: "+reprobado);
promedio=(double)nTotal/notas;
aPromedio=(double)nTotal/aprobado;
rPromedio=(double)nTotal/reprobado;
System.out.println("El promedio de notas es: "+dosdigitos.format(promedio));
System.out.println("El promedio de notas aprobadas es: "+dosdigitos.format(aPromedio));
System.out.println("El promedio de notas reprobadas es: "+dosdigitos.format(rPromedio));
}
}
}
Haces mal los calculos del promedio
import java.text.*;
import java.util.*;
public class NotasUdo {
public static void main(String[] args) {
Scanner entra = new Scanner (System.in);
int maxNotas,aprobado=0,reprobado=0,sumTotal=0,sumAprobados=0,sumReprobados=0,k=1;;
double promedio=0.0,aPromedio=0.0,rPromedio=0.0;
System.out.print("Introduce numero de notas:");
maxNotas=entra.nextInt();
while(k<=maxNotas){
System.out.print("Introduce la Nota["+k+"]:");
int nota=entra.nextInt();
sumTotal+=nota;
//como tu quieras xD
if(nota>=10 ){
sumAprobados+=nota;
aprobado++;
}
else {
sumReprobados+=nota;
reprobado++;
}
k++;
System.out.println();
}
DecimalFormat dosdigitos=new DecimalFormat("0.00");
if(maxNotas==0){
System.out.println("Error notas mal introducidas");
}
else{
System.out.println("las notas aprobadas son: "+aprobado);
System.out.println("las notas reprobadas son: "+reprobado);
promedio=sumTotal/maxNotas;
if(sumAprobados!=0)
aPromedio=sumAprobados/aprobado;
if(sumReprobados!=0)
rPromedio=sumReprobados/reprobado;
System.out.println("El promedio de notas es: "+dosdigitos.format(promedio));
System.out.println("El promedio de notas aprobadas es: "+dosdigitos.format(aPromedio));
System.out.println("El promedio de notas reprobadas es: "+dosdigitos.format(rPromedio));
}
}
}
LEYER muchas gracias ,,ya mismo lo reviso ;)
listo solucionado gracias a la ayuda de LEYER.