Java实现一个简单的学生信息管理系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现一个简单的学生信息管理系统相关的知识,希望对你有一定的参考价值。

定义一个学生类。该类包含无参构造方法。有参构造方法。实现一个管理类,该管理类实现学生信息的管理,包括添加学生,查询学生(根据学号查询学生年龄)删除指定学生求所有学生成绩之和学生(把学号是201101的成绩加10分。。。求大神。在线等。谢谢吖。
哥们只要能写出来分都不是事。不用数据库

稍等吧 现在帮你写个 不是难事 写出来通知你 需要数据库吗?

还在不?

Student 类
public class Student

private int id;

private int age;

private int score;

private String name;

public Student()




public Student(int id, int age, int score, String name)

this.id = id;
this.age = age;
this.score = score;
this.name = name;


public int getId()

return id;


public void setId(int id)

this.id = id;


public int getAge()

return age;


public void setAge(int age)

this.age = age;


public int getScore()

return score;


public void setScore(int score)

this.score = score;


public String getName()

return name;


public void setName(String name)

this.name = name;


@Override
public String toString()

return "学号:" + id + " 姓名:" + name + " 年龄:" + age + " 成绩:" + score;



Manager类
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Manager

private List<Student> list;

public Manager(List<Student> list)

this.list = list;


public List<Student> getList()

return list;


public void setList(List<Student> list)

this.list = list;


//添加学生
public void add(Student s)

list.add(s);


//根据学生学号返回学生年龄
public int search(int id)

for(Iterator<Student> iter = list.iterator(); iter.hasNext();)

Student s = iter.next();

if(s.getId() == id)

return s.getAge();


return -1;


//删除学生
public void remove(int id)

for(Iterator<Student> iter = list.iterator(); iter.hasNext();)

Student s = iter.next();

if(s.getId() == id)

list.remove(s);




//计算总成绩
public int allScore()

int score = 0;
int temp = 0;

for(Iterator<Student> iter = list.iterator(); iter.hasNext();)

Student s = iter.next();

temp = s.getScore();

score += temp;


return score;


//修改成绩
public void update(int id)

for(Iterator<Student> iter = list.iterator(); iter.hasNext();)

Student s = iter.next();

if(s.getId() == id)

s.setScore(s.getScore() + 10);





测试类 Client
import java.util.ArrayList;
import java.util.List;

public class Client

public static void main(String[] args)

List<Student> list = new ArrayList<Student>();

Manager manager = new Manager(list);//创建一个管理者

Student s1 = new Student();//无参构造方法创建的学生实例

//通过方法设置s1的属性
s1.setId(201105);
s1.setAge(20);
s1.setScore(100);
s1.setName("zhangsan");

Student s2 = new Student(201101,21,98,"lisi");//通过带参数的构造方法创建实例
Student s3 = new Student(201108,25,95,"zhaoliu");
Student s4 = new Student(201110,23,80,"xiaoming");
Student s5 = new Student(201106,28,78,"hello");

//放到集合当中
manager.getList().add(s1);//添加学生
manager.getList().add(s2);
manager.getList().add(s3);
manager.getList().add(s4);
manager.getList().add(s5);

System.out.println(list);

System.out.println(manager.allScore());

System.out.println(manager.search(201110));//根据学生学号查询学生年龄

manager.remove(201110);//删除学生

manager.update(201101);//修改成绩



可以完成你上述的基本要求,如果改动可以自行修改 很简单。
参考技术A

首先确定你的框架与开发环境, 需要考虑如下问题

    选用什么数据库 mysql还是sqlserver

    选用什么开发环境eclipse还是idea

    选用设么技术框架, 原生jsp还是springboot还是springmvc+mybaits

    然后设计你的数据库, 搭建项目脚手架, 跑通你的javaweb系统

    然后开始实现controller层, dao层, service层, jsp页面代码

参考技术B 看了你的需求,其实除了java,你还可以用易查分来做查询管理系统呢!通过易查分 不用写代码,上 传个excel表格就可以生成,超级简单的! 参考技术C

如果单独开发一个查询系统,涉及到的内容比较多,常见的有技术支持、服务器支持、代码支持等,还需要高昂的开发费用,一般学校和小企业是无法支撑这笔费用的,而且还需要专人来维护,所以自主开发一套查询系统,对于学校和小企业来说是不太现实的!其实学校和企业可以利用易查分来生成查询系统,以上的开发项目都不需要,只要把需要查询的内容做成excel,上传到易查分,就能生成,基本上3分钟就可以做好!后续也不用专人维护,老师们可以自己搭建一个自己学校的管理后台,很方便!你可以试试哦~~

参考技术D 友好提示:你把分数增加到100 兴许会有人帮你写。

Kotlin实现简单的学生信息管理系统

文章目录

一、实验内容

根据Android数据存储的内容,综合应用SharedPreferences和SQLite数据库实现一个用户信息管理系统,强化对SharedPreferences的理解的使用,熟练掌握SQLite的操作。要求:

  1. 巩固Android应用开发工具(Eclipse或者AndroidStudio)的常规用法;
  2. 巩固Activity、UI控件的常规用法;
  3. 掌握SharedPpreferences数据存储的使用;
  4. 掌握SQLite数据库及SQLiteOpenHelper的使用。

二、实验步骤

1、页面布局

本次布局提倡从简原则,按照往常习惯,我肯定是创建多个Activity,然后每个Activity设置下页面,分别从主页面跳转到各个页面。既然是实验,那就从简,实现核心的思想就可以了,底层逻辑实现出来,表面内容那不是花时间设计下就行了。言归正传,主页面布局如下,没有任何亮点可言,比较常规,只给Button和TextView都设置了background。


完整的layout代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <EditText
        android:id="@+id/et_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入学号"
        android:textSize="20sp"
        android:textColor="@color/black"
        android:padding="10dp"
        android:layout_margin="20dp"
        android:inputType="text"
        android:background="@drawable/et_selector" />
    <EditText
        android:id="@+id/et_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入姓名"
        android:textSize="20sp"
        android:textColor="@color/black"
        android:padding="10dp"
        android:layout_margin="20dp"
        android:inputType="text"
        android:background="@drawable/et_selector" />
    <EditText
        android:id="@+id/et_age"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入年龄"
        android:textSize="20sp"
        android:textColor="@color/black"
        android:padding="10dp"
        android:layout_margin="20dp"
        android:inputType="text"
        android:background="@drawable/et_selector" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:id="@+id/btn_insert"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="添加"
            android:background="@drawable/btn_selector"
            android:textSize="20sp"
            android:layout_margin="10dp"
            android:textColor="@color/black"/>
        <Button
            android:id="@+id/btn_delete"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="删除"
            android:background="@drawable/btn_selector"
            android:textSize="20sp"
            android:layout_margin="10dp"
            android:textColor="@color/black"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginBottom="20dp">
        <Button
            android:id="@+id/btn_update"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="修改"
            android:background="@drawable/btn_selector"
            android:textSize="20sp"
            android:layout_margin="10dp"
            android:textColor="@color/black"/>
        <Button
            android:id="@+id/btn_query"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="查询"
            android:background="@drawable/btn_selector"
            android:textSize="20sp"
            android:layout_margin="10dp"
            android:textColor="@color/black"/>
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@color/black"/>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:text="学号"
            android:textSize="20sp"
            android:gravity="center"
            android:layout_height="wrap_content"/>
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:text="姓名"
            android:textSize="20sp"
            android:gravity="center"
            android:layout_height="wrap_content"/>
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:text="年龄"
            android:textSize="20sp"
            android:gravity="center"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@color/black"/>
    <ListView
        android:id="@+id/lv_stu"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

2、数据库

考查对SQLite的熟练程度,其实就是Android提供了一个数据库帮助类,帮我们进行数据库的各种操作。我们要做的就是建库建表,写个增删改查的方法,然后剩下的事情交给系统。这里是学生表的建表语句,一切属性都能用text表示。

    private val CREATE_STUDENT = "create table Student (" +
            "id text primary key," +
            "name text," +
            "age text)"

再看学生类,简直封装的太好了,Kotlin的魅力所在,换做Java又是属性、构造函数、get和set方法。

class Student(val id:String, val name:String, val age:String) 


下面看数据库的增删改查操作,所有的操作都是针对数据库的Student表来的,增加、删除和修改都很简单,使用ContentValues添加键值对。查询是最关键的,使用cursor游标一行行遍历表数据,各种约束条件可以自己加,正常全查就完事了。

 val dbHelper = DBHelper(context, "stu.db", 1)
    lateinit var db:SQLiteDatabase

    fun openDB() 
        db = dbHelper.writableDatabase
    

    fun closeDB() 
        if (db != null) dbHelper.close()
    
    // 插入学生
    fun insertStudent(stu: Student) 
        val values = ContentValues().apply 
            put("id", stu.id)
            put("name", stu.name)
            put("age", stu.age)
        
        db.insert("Student", null, values)
    
    // 删除学生
    fun deleteStudent(stu: Student) 
        db.delete("Student", "id = ?", arrayOf(stu.id))
    
    // 更新学生
    fun updateStudent(stu: Student) 
        val values = ContentValues()
        values.put("name", stu.name)
        values.put("age", stu.age)
        db.update("Student", values, "id = ?", arrayOf(stu.id))
    
    // 查询所有学生
    fun queryAllStudent():ArrayList<Student> 
        val cursor = db.query("Student", null, null, null, null, null, null)
        val stuList = ArrayList<Student>()
        if (cursor.moveToFirst()) 
            do 
                val id = cursor.getString(cursor.getColumnIndex("id"))
                val name = cursor.getString(cursor.getColumnIndex("name"))
                val age = cursor.getString(cursor.getColumnIndex("age"))
                val stu = Student(id, name, age)
                stuList.add(stu)
             while (cursor.moveToNext())
        
        cursor.close()
        return stuList
    

3、登录活动

登录活动用的是sharedPreferences,它使用方法非常easy,首先初始化一个sharedPreferences对象,文件名和访问类型自定义。读数据就是调用getString获取键值对,设定个默认值。写数据就是调用sharedPreferences.edit()赋值给editor对象,然后putString读取键值对。还记录了下app的使用次数。

	override fun onCreate(savedInstanceState: Bundle?) 
        super.onCreate(savedInstanceState)
        binding = ActivityLoginBinding.inflate(layoutInflater)
        setContentView(binding.root)
        sharedPreferences = getSharedPreferences("data", Context.MODE_PRIVATE)
        var editor = sharedPreferences.edit()
        // 得到之前的使用次数,然后每次打开app都加1
        var count = sharedPreferences.getString("count", "0");
        binding.tvCount.text = (count!!.toInt() + 1).toString()
        // 保存键值对到sharedpreferences中
        editor.putString("count", (count!!.toInt() + 1).toString())
        editor.apply()
        binding.btnLogin.setOnClickListener
            editor.putString("account", binding.etAccount.toString().trim())
            editor.putString("password", binding.etPassword.toString().trim())
            editor.apply()
            Toast.makeText(this, "登录成功!", Toast.LENGTH_SHORT).show()
            val intent = Intent(this, MainActivity::class.java)
            startActivity(intent)
            finish()
        
    

4、增删改查

其实对数据表的增删改查逻辑在StudentDao中已经封装好了,我们在Activity里面也只是调用方法实现界面和数据库的交互罢了。具体的操作逻辑如下:

输入学号、姓名和年龄后点击添加可以添加学生;输入学号点击查询可以查询学生信息,然后点击删除会删除信息,点击修改会修改输入框中的学生信息,最后如果输入的学号不存在而且你点查询了,会显示所有学生的信息,如果存在只会显示该学生的信息。

    override fun onClick(p0: View?) 
        var stuId = binding.etId.text.toString()
        var stuName = binding.etName.text.toString()
        var stuAge = binding.etAge.text.toString()
        var stu = Student(stuId, stuName, stuAge)
        var flag = (studentDao.queryById(stuId) != null)
        when(p0?.id) 
            R.id.btn_insert->
                if (flag) 
                    Toast.makeText(this, "学生已存在,无法添加", Toast.LENGTH_SHORT).show()
                 else 
                    studentDao.insertStudent(stu)
                    Toast.Java设计开发一个简单的学生管理系统!

怎么用java做一个简单的学生管理系统?

JAVA程序设计-简单的学生信息管理系统

基于python和tkinter实现的一个简单的学生信息管理系统

学生信息管理系统最简单源代码。

基于Java web 学生管理系统 最简单的就行 要求实现数据库的增删改查 要求个源代码和包