学生成绩管理系统java
㈠ 用java编写一个学生成绩管理系统. //1.学生类 学号 姓名 年龄 语数外三科成绩(三科成绩)
用数组可以,也可以用集合来存储各个同学的成绩。
添加删除等信息简单。
这里有个迷你图书管理系统,类似,我刚写的。你看看之后应该会有思路了。如果用集合utils做的话,也简单,知识用到了集合框架和泛型等机制。
package cn.kgc.sg.MiTuSys;
import java.util.Scanner;
public class MiNiBookSys {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 定义书的信息
String[] bookNames = new String[4];
int[] borrowDate = new int[5];
int[] borrowCount = new int[4];
int[] states = new int[4];
// 定义书单信息
String[] bookMeg = new String[5];
bookMeg[0] = "Java开发";
bookMeg[1] = "C#开发";
bookMeg[2] = "C语言开发";
states[2] = 0; // 0:可借阅 1:已借出
// 初始化两个图书借阅记录信息
bookNames[0] = "安徒生童话";
borrowDate[0] = 15;
borrowCount[0] = 4;
states[0] = 0; // 0:可借阅 1:已借出
bookNames[1] = "格林童话";
states[1] = 1; // 0:可借阅 1:已借出
borrowDate[1] = 26;
borrowCount[1] = 9;
// 搭建项目框架
int num = -1;// 定义用户初始输入的数字
do {
System.out.println("*********************欢迎使用图书管理系统**********************");
System.out.println(" 1.新增图书");
System.out.println(" 2.查看图书");
System.out.println(" 3.删除图书");
System.out.println(" 4.图书借阅");
System.out.println(" 5.归还图书");
System.out.println(" 6.退出系统");
System.out.print("请输入您的选择:");
int choose = sc.nextInt();
// 判断输入的选择是否正确
while (choose < 0 || choose > 6) {
System.out.print("输入有误,请重新输入:");
choose = sc.nextInt();
}
// 定义一个flag变量,来定义是否退出系统
boolean flag = true;// true:不退出系统 false:退出系统
String addName = null;
switch (choose) {
case 1:
System.out.println(" *********1.新增图书*********");
boolean isAdd = true;
System.out.println("序号 图书书名");
for (int i = 0; i < bookMeg.length; i++) {
// 判断为空的不输出
if (bookMeg[i] != null) {
System.out.println((i + 1) + " " + bookMeg[i]);
}
}
System.out.print("请输入新增图书名称:");
addName = sc.next();
for (int i = 0; i <bookMeg.length; i++) {
// 判断为空的不输出
if (bookMeg[i] == null) {
bookMeg[i] = addName;
break;
}
}
/*bookMeg[bookMeg.length-1] = addName; //添加图书信息
*/ System.out.println(" 序号 图书书名");
for (int i = 0; i < bookMeg.length; i++) {
// 判断为空的不输出
if (bookMeg[i] != null) {
System.out.println((i + 1) + " " + bookMeg[i]);
}
}
if (!isAdd) {
System.out.println("对不起,图书已满,不能添加!!!");
}
break;
case 2:
System.out.println(" *********2.查看图书*********");
System.out.println("序号" + " 图书书名" + " 借阅次数 借阅状态 借阅日期 ");
// 遍历数组
for (int i = 0; i < bookNames.length; i++) {
// 判断信息为空的不输出
if (bookNames[i] != null) {
String borrowCounts = borrowCount[i] + "次";
String borrowDates = borrowDate[i] + "日";
String state = (states[i] == 0) ? "可借阅" : "已借出";
System.out.println((i + 1) + " " + bookNames[i] + " " + borrowCounts + " " + state
+ " " + borrowDates);
}
}
break;
case 3:
System.out.println(" *********3.删除图书*********");
System.out.println("序号 图书书名");
for (int i = 0; i < bookMeg.length; i++) {
// 判断为空的不输出
if (bookMeg[i] != null) {
System.out.println((i + 1) + " " + bookMeg[i]);
}
}
System.out.print("请输入删除的图书序号:");
int delNo = sc.nextInt();
// 判断输入的序号是否有误
while (delNo < 1 || delNo > bookMeg.length) {
System.out.print("输入有误,重新输入:");
delNo = sc.nextInt();
}
// 删除图书
for (int i = 0; i <=bookMeg.length-1;i++) {
if (bookMeg[i] != null && i == delNo - 1) {
bookMeg[i] = bookMeg[i+1];
bookMeg[i+1] = null; //
// 最后置空
bookMeg[bookMeg.length - 1] = null;
}
}
for (int i = 0; i < bookMeg.length; i++) {
// 判断为空的不输出
if (bookMeg[i] != null) {
System.out.println((i + 1) + " " + bookMeg[i]);
}
}
break;
case 4:
System.out.println(" *********4.图书借阅*********");
System.out.println(" 序号 图书书名 借阅状态 借阅次数 借阅日期");
for (int i = 0; i < bookMeg.length; i++) {
// 判断为空的不输出
if (bookMeg[i] != null) {
String state = (states[i] == 0) ? "可借阅" : "已借出";
String borrowCi = borrowCount[i] + "次";
System.out.println((i + 1) + " " + bookMeg[i] + " " + state + " " + borrowCi + " "
+ borrowDate[i]);
}
}
System.out.print("请输入您要借阅的图书序号:");
int borrowNo = sc.nextInt();
boolean isFind = true;// false:找不到
for (int i = 0; i < bookMeg.length; i++) {
// 查到了,但是状态是0可借阅,可以借阅
if (i == borrowNo - 1 && states[i] == 0) {
isFind = true;
// 改变状态为已借出
states[i] = 1;
// 借阅次数加一
borrowCount[i]++;
// 输入借阅日期
System.out.print("请输入借阅日期:");
int borrow = sc.nextInt();
// 对输入的日期判断
while (borrow < 1 || borrow > 31) {
System.out.print("您输入日期有误,请重新输入:");
borrow = sc.nextInt();
}
// 更新借阅日期
borrowDate[i] = borrow;
} else if (i == borrowNo - 1 && states[i] == 1) {
// 查到了,但是状态是1已借出,不可以借阅
isFind = true;
System.out.println("状态是已借出,不可以借阅!!!");
}
}
if (!isFind) {
System.out.println("找不到图书!");
break;
}
break;
case 5:
System.out.println(" *********5.归还图书*********");
System.out.println(" 序号 图书书名 借阅状态 借阅次数 借阅日期");
for (int i = 0; i < bookMeg.length; i++) {
// 判断为空的不输出
if (bookMeg[i] != null) {
String state = (states[i] == 0) ? "可借阅" : "已借出";
String borrowCi = borrowCount[i] + "次";
System.out.println((i + 1) + " " + bookMeg[i] + " " + state + " " + borrowCi + " "
+ borrowDate[i]);
}
}
System.out.print("请输入您要归还的图书序号:");
int huanNo = sc.nextInt();
// 判断归还的序号是否合法
while (huanNo < 1 || huanNo > bookMeg.length - 1) {
System.out.print("输入的归还图书序号有误,请重新输入:");
huanNo = sc.nextInt();
}
boolean isHuan = true;// false:找不到
for (int i = 0; i < bookMeg.length; i++) {
// 查到了,但是状态是1已借出,可以还
if (i == huanNo - 1 && states[i] == 1) {
isHuan = true;
// 改变状态为已借出
states[i] = 0;
// 输入归还日期
System.out.print("请输入归还日期:");
int huan = sc.nextInt();
// 对归还的日期判断,必须大于借阅日期
while (huan < 1 || huan > 31) {
System.out.print("您输入日期有误,请重新输入(1-31):");
huan = sc.nextInt();
}
while (huan < borrowDate[i]) {
System.out.print("归还日期必须大于借阅日期" + borrowDate[i] + "号,请重新输入:");
huan = sc.nextInt();
}
borrowCount[i]++;
System.out.println("归还图书成功!!!");
} else if (i == huanNo - 1 && states[i] == 0) {
// 查到了,但是状态是0可借阅,不能还
isFind = true;
System.out.println("状态是可借阅,不可以归还!!!");
}
}
if (!isHuan) {
System.out.println("抱歉,找不到图书,不能归还图书!");
break;
}
break;
case 6:
System.out.println(" *********6.退出系统*********");
flag = false;
break;
default:
flag = false;
break;
}
if (flag) {
System.out.print("输入0返回:");
num = sc.nextInt();
} else {
break;
}
} while (num == 0);
System.out.println("**********谢谢使用**********");
}
}
希望能帮到你!!!
㈡ java设计一个学生成绩管理系统
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
String exit="";
Map<String, List<Float>> map1=new HashMap();
while(!exit.equals("exit")) {
System.out.println("请出入学生姓名");
List<Float> list = new ArrayList<Float>();
map1.put(sc.next(), list);
for(int i=0;i<3;i++) {
System.out.println("请出入学生成绩");
list.add(sc.nextFloat());
}
System.out.println("输入 exit 退出成绩录入,其他则继续录入");
exit=sc.next();
}
for(String key :map1.keySet()) {
List<Float> list =map1.get(key);
float avage =0l;
for(Float box :list) {
avage += box;
}
System.out.println(key+"的平均成绩:"+ avage/list.size());
}
}
//只做了第一题,追加分数,可得第二题答案
㈢ 如何用Java语言编写学生成绩管理系统
package student;
import java.util.Scanner;
public class teststudent {
public static void main(String args[]){
System.out.println("************************学生成绩管理系统*********************");
System.out.println("请输入要管理的学生人数:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
studentMassage stum = new studentMassage(n);
int flag = 1;
while(flag == 1){
System.out.println("1.输入学生信息");
System.out.println("2.通过姓名查找学生信息");
System.out.println("3.显示全部学生信息");
System.out.println("4.退出系统");
int op = sc.nextInt();
switch(op){
case 1:stum.addStudent(n);
new Scanner(System.in).nextLine();
break;
case 2:
System.out.println("输入学生姓名:");
String name = sc.next();
stum.FindStudent(name);
new Scanner(System.in).nextLine();
break;
case 3:
stum.showallStudent();
new Scanner(System.in).nextLine();
break;
case 4:
flag = 0;
System.out.println("已退出系统!");
break;
default:
System.out.println("稿键输入有误!");
new Scanner(System.in).nextLine();
}
}
}
}
class Date{
int year;
int month;
int day;
/*public Date(int year,int month,int day){
this.year = year;
this.month = month;
this.day = day;
}
public Date(){}*/
public String showDate(){
return year + "/"+ month+"/"+day;
}
}
class student{
int id;
String name;
Date date;
float score;
public student(){
id = 0;
name = null;
date = null;
score = 0f;
}
public void showStudent(){
System.out.println( id + " " + name + " "+ " " + date.showDate()+" "+score);
}
}
class studentMassage{
private student[] stu;
private int flag;
public studentMassage(int n){
flag = 0;
if(stu == null){
stu = new student[n];
for(int i =0;i<n;++i){
stu[i] = new student();
}
}
}
public void addStudent(int n){
flag = 1;
Scanner sc = new Scanner(System.in);
System.out.println("请输入"+n+"个学生信息");
for(int i = 0 ;i<stu.length;++i){
stu[i].date = new Date();
System.out.println("请森巧输入此敬键第"+(i+1)+"个学生学号:");
stu[i].id = sc.nextInt();
System.out.println("请输入第"+(i+1)+"个学生姓名:");
stu[i].name = sc.next();
System.out.println("请输入第"+(i+1)+"个学生出生年份:");
stu[i].date.year = sc.nextInt();
System.out.println("请输入第"+(i+1)+"个学生出生月份:");
stu[i].date.month = sc.nextInt();
System.out.println("请输入第"+(i+1)+"个学生出生日期:");
stu[i].date.day = sc.nextInt();
//stu[i].date = new Date(year,month,day);
System.out.println("请输入第"+(i+1)+"个学生分数:");
stu[i].score = sc.nextFloat();
}
}
public void FindStudent(String sname){
student find = null;
if(flag != 0){
for(int i = 0;i<stu.length;++i){
if(sname.equals(stu[i].name))
find = stu[i];
}
if(find == null)
System.out.println("查无此人!");
else
find.showStudent();
}else
System.out.println("没有输入学生信息!");
}
public void showallStudent(){
System.out.println("所有学生的信息如下:");
System.out.println("学号 姓名 生日 分数");
for(int i = 0;i<stu.length;++i){
stu[i].showStudent();
}
}
}
㈣ 用java做一个学生成绩管理系统需要哪些技术
用java做一个学生成绩管理系统,可以用到如下技术:
后台:SSH框架,不用框架的话,单纯地用JSP + Servlet也可以。
前台:html + css + js + jquery
数据库:掌握SQL语言的编写,数据库的连接。复杂的项目还需要用到存储过程。
㈤ 求一个用java写的学生成绩管理信息系统的源代码,要求有界面,能实现
以下方法实现了用户界面登陆
import java.awt.*;
import java.awt.event.*;
public class DengLuJieMian extends Frame implements ActionListener
{
Label username=new Label("用户名:");//使用文本创建一个用户名标签
TextField t1=new TextField();//创建一个文本框对象
Label password=new Label("密码:");//创建一个密码标签
TextField t2=new TextField();
Button b1=new Button("登陆");//创建登陆按钮
Button b2=new Button("取消");//创建取消按钮
public DengLuJieMian()
{
this.setTitle("学生信息管理系统");//设置窗口标题
this.setLayout(null);//设置窗口布局管理器
username.setBounds(50,40,60,20);//设置姓名标签的初始位置
this.add(username);// 将姓名标签组件添加到容器
t1.setBounds(120,40,80,20);// 设置文本框的初始位置
this.add(t1);// 将文本框组件添加到容器
password.setBounds(50,100,60,20);//密码标签的初始位置
this.add(password);//将密码标签组件添加到容器
t2.setBounds(120,100,80,20);//设置密码标签的初始位置
this.add(t2);//将密码标签组件添加到容器
b1.setBounds(50,150,60,20);//设置登陆按钮的初始位置
this.add(b1);//将登陆按钮组件添加到容器
b2.setBounds(120,150,60,20);//设置取消按钮的初始位置
this.add(b2);// 将取消按钮组件添加到容器
b1.addActionListener(this);//给登陆按钮添加监听器
b2.addActionListener(this);// 给取消按钮添加监听器
this.setVisible(true);//设置窗口的可见性
this.setSize(300,200);//设置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});//通过内部类重写关闭窗体的方法
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)//处理登陆事件
{
String name=t1.getText();
String pass=t2.getText();
if(name!=null&&pass.equals("000123"))//判断语句
{
new StudentJieMian();
}
}
}
public static void main(String args[])//主函数
{
new DengLuJieMian();
}
}
以下方法实现了学生界面设计
import java.awt.*;
import java.awt.event.*;
class StudentJieMian extends Frame implements ActionListener
{
MenuBar m=new MenuBar();//创建菜单栏
Menu m1=new Menu("信息");//创建菜单“信息”
MenuItem m11=new MenuItem("插入");//创建“插入”的菜单项
MenuItem m12=new MenuItem("查询");
Menu m2=new Menu("成绩");//创建菜单“成绩”
MenuItem m21=new MenuItem("查询");
public StudentJieMian()
{
this.setTitle("学生界面");//设置窗口标题
this.setLayout(new CardLayout());//设置窗口布局管理器
this.setMenuBar(m);//将菜单栏组件添加到容器
m.add(m1);//将信息菜单放入菜单栏
m.add(m2);
m1.add(m11);//将“插入”菜单项添加到“信息”菜单
m1.add(m12); //将“查询”菜单项添加到“信息”菜单
m2.add(m21); //将“查询”菜单项添加到“成绩”菜单
m11.addActionListener(this); //给“插入”菜单项添加监听器
m12.addActionListener(this); //给“查询”菜单项添加监听器
m21.addActionListener(this); //给“查询”菜单项添加监听器
this.setVisible(true); //设置窗口的可见性
this.setSize(300,200); //设置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);//关闭窗口
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==m11) //处理“添加信息”事件
{
new AddStudent();
}
if(e.getSource()==m12) //处理“查询信息”事件
{
new SelectStudent();
}
if(e.getSource()==m21) //处理“查询成绩”事件
{
new ChengJiStudent();
}
}
public static void main(String args[])
{ new StudentJieMian(); //创建一个对象 }