我非常擅长Java编程,我的教授要求我们编写一个程序:
通过信件显示每个年级。 (例如:A,B,C,D,F) 显示最低&班级的平均成绩 显示通过考试的人数(70+正在通过)
我一直在尝试使用数组和if else语句来解决这个问题,但我没有取得多大进展。你能帮帮我吗?
我知道我不擅长编码,但这是我正在努力的事情。
我还想在我的代码中加入if else语句以简化操作。
提前非常感谢你。
import java.util.Scanner;
public class HelloWorld
{
public static void main (String[] args)
{
double[] grades = new double[10];
int sum
Scanner scan = new Scanner (System.in);
System.out.println ("Number of students: " + grades.length);
for (int index = 0; index < grades.length; index++)
{
System.out.print ("Enter number " + (index+1) + ": ");
grades[index] = scan.nextDouble();
}
}
}
答案 0 :(得分:0)
使用ofstream ofs;
ofs.open("output.ppm", ofstream::out);
ofs<<"P6\n"<<img_wd<<" "<<img_ht<<"\n"<<max_val<<"\n";
for(int j=0; j <img_ht;j++)
{
for (int i=0; i<img_wd;i++)
{
ofs<<static_cast<unsigned char>(Pixel_tmp[j][i].r)<<static_cast<unsigned char>(Pixel_tmp[j][i].g)<<static_cast<unsigned char>(Pixel_tmp[j][i].b); //write as ascii
}
}
ofs.close();
循环查找最小值,就像当前循环一样并使用:
for
只需找到循环中的总和即可找到平均值:
min = Math.min(min, grades[index]);
然后除以值的数量。
在循环中使用sum += grades[index];
语句可以找到70+等级的数量:
if
这些操作中的每一个也可以使用Java 8中的DoubleStream
完成:
if (grades[index] >= 70) {
numPassing++;
}
答案 1 :(得分:0)
好的我修改了一下代码,加上我没有使用java中提供的任何功能,这样你就可以理解流控制和逻辑是java的新手。
import java.util.Scanner;
public class HelloWorld
{
public static void main (String[] args)
{
double[] marks = new double[10];
char[] grades=new char[10];
int[] numGradeStudent={0,0,0,0,0};
int min=0,avg=0,minIndex=0;
Scanner scan = new Scanner (System.in);
System.out.println ("Number of students: " + grades.length);
for (int index = 0; index < grades.length; index++)
{
//Taking marks then applying grades and counting no. of students
System.out.print ("Enter number " + (index+1) + ": ");
marks[index] = scan.nextDouble();
if(marks[index]>90)
grades[index]='A';
if(marks[index]>75 && marks[index]<=90)
grades[index]='B';
if(marks[index]>65 && marks[index]<=75)
grades[index]='C';
if(marks[index]>55 && marks[index]<=64)
grades[index]='D';
else
grades[index]='E';
//Setting up graded students down from here
if(grades[index]=='A')
numGradeStudent[0]++;
if(grades[index]=='B')
numGradeStudent[1]++;
if(grades[index]=='C')
numGradeStudent[2]++;
if(grades[index]=='D')
numGradeStudent[3]++;
if(grades[index]=='E')
numGradeStudent[4]++;
}
min=numGradeStudent[0];
for(int i=0;i<5;i++){
if(numGradeStudent[i]<min){
min=numGradeStudent[i];
minIndex=i;
}
}
System.out.println("Min grade of class is:"+ grades[minIndex]);
for(int i=0;i<10;i++){
if(marks[i]>70)
System.out.println("Student "+(i+1)+" passed.");
}
} }