急!急1急!用java编写简单的学生成绩录入程序

急!急1急!用java编写简单的学生成绩录入程序,第1张

当年我学C语言的时候,这个问题有考过,这边显示方式不方便用代码实现,我给你几神山纤个要点。

1, 建一个学生类,有四个字段,分别表示学生名,英语,计和数的成绩

2, 建一个输出类,即含有方法 public static void main(String[] args),并在这个方法里用 while循环接游仿收输入参数,直到你定义一个参数表示退出即可打印。

另外在这个输出类里,加一个属性 List list = new ArrayList()表示所有学生。

3, 运行窗口,使用输出类并输入参数即可。

最后,这个问题主要是考你的逻辑能力,初学者可能要想一两天才能想出来。

public class Student {

private String name//姓名

private int english//唯搏英语成绩

private int computer//计算机成绩

private int database//数据库成绩

//..getter/setter略

}

public class Printer {

private static List<Student>students = new ArrayList<Student>()

public static void main(String[] args) {

while (true) {

Scanner in = new Scanner(System.in)

System.out.println("请输入:学生名 英语 计算机 数据库")

String line = in.nextLine()

if(line == null || line.length() == 0) {

break// 用户未输入,默认表示退出

}

if(line == "exit") {

break// 用户输入exit,表示退出

}

String[] values = line.split(" ")

if(values.length != 4) {

break//参数不对,退出!可以自己优化

}

Student s = new Student()

s.setName(values[0])

s.setEnglish(Integer.valueOf(values[1]))

s.setComputer(Integer.valueOf(values[2]))

s.setDatabase(Integer.valueOf(values[3]))

students.add(s)

}

for (Student student : students) {

System.out.println("学生名:" + student.getName() + "英语成绩:"

+ student.getEnglish() + "...计,数成绩略,类推!")

}

}

}

真是沤心沥血啊,应该不会再要怎么编译,用啥工具吧?

#include <iostream>

#include <string>

using namespace std

class St

{

double yuwen,shuxue,yingyu

string name

public:

static int num

static double yuwenmax //最高分数

static double shuxuemax

static double yingyumax

static double yuwenz //总分

static double shuxuez

static double yingyuz

static string yuwenname //最高分名字

static string shuxuename

static string yingyuname

void bijiao()

{

num ++

yuwenname = (yuwen >yuwenmax ? name : (yuwen ==yuwenmax?yuwenname + name: yuwenname) )

shuxuename = (shuxue >shuxuemax ? name : (shuxue ==shuxuemax?shuxuename + name: shuxuename) )

yingyuname = (yingyu >yingyumax ? name : (yingyu ==yingyumax?yingyuname + name: yingyuname) )

yuwenmax = (yuwen >yuwenmax ? yuwen : yuwenmax)

shuxuemax = (shuxue >shuxuemax ?shuxue :yuwenmax)

yingyumax = (yingyu >yingyumax ? yingyu : yingyumax)

yuwenz += yuwen

shuxuez += shuxue

yingyuz += yingyu

}

static void print()

{

cout<<"语文平均分:"<<yuwenz/num<<" 最高分"<<yuwenmax<<"分:"<<yuwenname<<endl

cout<<"数学平均分:"<<shuxuez/num<<" 最高分"<<shuxuemax<<"分:"<<shuxuename<扒燃<endl

cout<<"英语平均分:"<<yingyuz/num<<" 最高分"<<yingyumax<<高辩"分:"<<yingyuname<<endl

}

void shuru()

{

cout<<"请输入语文成绩:"

cin>>yuwen

cout<<"请输入数学成绩:"

cin>>shuxue

cout<<"请输入英春念虚语成绩:"

cin>>yingyu

cout<<"请输入姓名:"

cin>>name

}

}

int St::num = 0

double St::yuwenmax = 0

double St::shuxuemax = 0

double St::yingyumax = 0

double St::yuwenz = 0

double St::shuxuez = 0

double St::yingyuz = 0

string St::yuwenname = "无"

string St::shuxuename = "无"

string St::yingyuname = "无"

int main()

{

char flag = 'n'

do

{

St student

student.shuru()

student.bijiao()

cout<<"请输入继续/终止(y/n),已输入人数"<<St::num<<endl

cin>>flag

}

while(flag == 'y')

St::print()

return 0

}

//面向对象的设计,复杂度最低,空间占用最小。但注释较少,不懂的可以问我。

//但是这个没有保存数据,如需保存再加入链表,让我加也可以,不过自己练练手也不错。

#include "stdio.h"

#define N 16

int main(int argv,char *argc[]){

int s[N],i,d[5],sum

printf("Please enter %d students' score(int, Separated by ' ')...\n",N)

for(sum=d[0]=d[1]=d[2]=d[3]=d[4]=i=0i<Ni++){

while(scanf("%d",s+i)!=1 樱神|| s[i]<0 || s[i]>100){

printf("Input error, redo: ")

fflush(stdin)

}

s[i]>89 ? d[4]++ : s[i]<60 ? d[0]++ : d[s[i]/10-5]++

sum+=s[i]

}

printf("\nThe AVERAGE 册或are %g.\n",sum/(N+0.0))

printf("GRADE\tNUMBER\tPERCENTAGE\n")

printf("==========================\n"脊姿亏)

for(i=4i>=0i--)

printf("  %c\t  %d\t %6.2f%%\n",'E'-i,d[i],d[i]*100.0/N)

return 0 

}

运行结果如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12441044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存