我是Java新手,我正在尝试执行一个程序,要求用户:
public class ExtraClase {
public static void main(String[] args) {
Estudiantes estudiantes = new Estudiantes();
estudiantes.numeroEstudiantes();
}
}
public class Estudiantes {
public void numeroEstudiantes() {
System.out.print("Introduzca numero de estudiantes: ");
Scanner cantidad = new Scanner(System.in);
int number = cantidad.nextInt();
int i=1;
int total=0;
int promedio;
if(number>=1 && number<=35){
while(i<=number){
System.out.print("Ingrese la nota del 1-100: ");
Scanner nota = new Scanner(System.in);
int note = nota.nextInt();
if(note>=1 && note<=100) {
}else {
//como elimino la ultima nota introducida
System.out.println("Ingrese valor entre 1 y 100.");
number++;
}
total=total+note;
i++;
}
}else {
System.out.println("Digite numero entre 1 y 35.");
}
promedio=total/number;
System.out.println("El promedio de notas es: "+promedio);
System.out.println("La nota mas alta es: ");
System.out.println("La nota mas baja es: ");
}
}
答案 0 :(得分:0)
if(note>=1 && note<=100) {
total=total+note;
i++;
}else {
//como elimino la ultima nota introducida
System.out.println("Ingrese valor entre 1 y 100.");
//there's no need to increment number here, just don't increment i if a variable has invalid value
}
答案 1 :(得分:0)
2:您正在增加if
语句之外的总数,以检查它是否有效。因此,您的无效值200不会被排除在外。
3:您需要在单独的变量中跟踪最大值和最小值。
答案 2 :(得分:0)
您需要移动行以添加到总计,并将i
增加到if(note>=1 && note<=100)
的第一部分。您还可以通过添加另外两个变量来跟踪最大/最小值:
public class Estudiantes {
public void numeroEstudiantes() {
System.out.print("Introduzca numero de estudiantes: ");
Scanner cantidad = new Scanner(System.in);
int number = cantidad.nextInt();
int i=1;
int total=0;
//added min/max
int baja=-1;
int alta=-1;
int promedio;
if(number>=1 && number<=35){
while(i<=number){
System.out.print("Ingrese la nota del 1-100: ");
Scanner nota = new Scanner(System.in);
int note = nota.nextInt();
if(note>=1 && note<=100) {
//check for min
if(note<baja || baja==-1){
baja = note;
}
//check for max
if(note>alta || alta==-1){
alta = note;
}
//moved from below
total=total+note;
i++;
} else {
//como elimino la ultima nota introducida
System.out.println("Ingrese valor entre 1 y 100.");
number++;
}
}
} else {
System.out.println("Digite numero entre 1 y 35.");
}
promedio=total/number;
System.out.println("El promedio de notas es: "+promedio);
System.out.println("La nota mas alta es: " + alta);
System.out.println("La nota mas baja es: " + baja);
}
}
答案 3 :(得分:0)
再创建2个变量
//for your case if value is between 0 and 100
int min = 101;
int max = 0;
if(note>=1 && note<=100) {
total=total+note;
i++;
//checking minimum value
if(note < min)
min = note;
//checking maximum value
if(note > max)
max = note;
}else {
System.out.println("Enter integer between 1 and 100");
//not valid no.
}
最后打印min和max变量