班级管理JAVA代码 基于java的班级管理系统

利用swing设计一个班级学生信息管理系统,一道JAVA题 求代码,不要废话

public class RandomUtils {

为海宁等地区用户提供了全套网页设计制作服务,及海宁网站建设行业解决方案。主营业务为成都网站设计、成都做网站、海宁网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

public static String randomId(){

Random random = new Random();

StringBuilder sb = new StringBuilder();

for (int i = 0; i  6; i++) {

sb.append(random.nextInt(10));

}

return sb.toString();

}

public static int randomIntId(){

Random random = new Random();

StringBuilder sb = new StringBuilder();

for (int i = 0; i  6; i++) {

sb.append(random.nextInt(10));

}

return Integer.parseInt(sb.toString());

}

public static String randomName(){

String[] name1 = {"赵","钱","孙","李","周","吴","郑","王","张","刘"};

String[] name2 = {"一","二","三","四","五","六","七","八","九","十"};

Random random = new Random();

StringBuilder sb = new StringBuilder();

sb.append(name1[random.nextInt(10)]);

sb.append(name2[random.nextInt(10)]);

sb.append(name2[random.nextInt(10)]);

return sb.toString();

}

public static String randomSex(){

Random random = new Random();

return random.nextInt(4)/2==0?"男":"女";

}

public static int randomAge(int min, int max){

Random random = new Random();

return random.nextInt(min) + max-min;

}

public static int randomScore(){

Random random = new Random();

return (int)(random.nextDouble()*100%100);

}

public static String randomAddress(){

String[] address1 = {"商业","红叶","安康","河南","长海","黄河","桐柏","科学","瑞达","花园"};

String[] address2 = {"东","南","西","北","中"};

String[] address3 = {"街","路","大道","巷"};

Random random = new Random();

StringBuilder sb = new StringBuilder();

sb.append(address1[random.nextInt(10)]);

sb.append(address2[random.nextInt(5)]);

sb.append(address3[random.nextInt(4)]);

sb.append(random.nextInt(1000)+1);

sb.append("号");

return sb.toString();

}

}

import javax.swing.*;

import javax.swing.event.TreeSelectionEvent;

import javax.swing.event.TreeSelectionListener;

import javax.swing.table.DefaultTableModel;

import javax.swing.tree.DefaultMutableTreeNode;

import java.awt.*;

import java.util.*;

import java.util.List;

public class StudentManage extends JFrame{

public final static String[] CH_NUM = {"一","二","三","四","五","六","七","八","九","十"};

public final static String ROOT = "班级管理";

public final static int GRADE_NUM = 3;

public final static int CLASS_NUM = 3;

private MapString, ListStudent classes;

public StudentManage() {

setTitle("学生管理系统");

setSize(300, 300);

setLayout(new BorderLayout());

if(classes == null) classes = new HashMap();

DefaultMutableTreeNode top = new DefaultMutableTreeNode(ROOT);

DefaultMutableTreeNode[] gradeNodes = new DefaultMutableTreeNode[GRADE_NUM];

for (int i = 0; i  GRADE_NUM; i++) {

gradeNodes[i] = new DefaultMutableTreeNode(CH_NUM[i] + "年级");

for (int j = 0; j  CLASS_NUM; j++) {

gradeNodes[i].add(new DefaultMutableTreeNode(CH_NUM[j] + "班"));

}

top.add(gradeNodes[i]);

}

final JTree tree = new JTree(top);

String title[] = {"ID","姓名","性别","年龄","地址"};

final DefaultTableModel model = new DefaultTableModel(title, 0);

JTable table=new JTable(model);

tree.addTreeSelectionListener(new TreeSelectionListener() {

@Override

public void valueChanged(TreeSelectionEvent e) {

DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree .getLastSelectedPathComponent();

if (node == null) return;

Object object = node.getUserObject();

if (node.isLeaf()) {

ListStudent stdList = classes.get(getFullPath(node));

Object[][] data = new Object[stdList.size()][5];

for (int i = 0; i  stdList.size(); i++) {

data[i][0] = stdList.get(i).getId();

data[i][1] = stdList.get(i).getName();

data[i][2] = stdList.get(i).getSex();

data[i][3] = stdList.get(i).getAge();

data[i][4] = stdList.get(i).getAddress();

}

while(model.getRowCount()0){

model.removeRow(model.getRowCount()-1);

}

for (int i = 0; i  stdList.size(); i++) {

model.addRow(data[i]);

}

model.fireTableDataChanged();

}

}

});

add(tree, BorderLayout.WEST);

add(new JScrollPane(table), BorderLayout.CENTER);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private String getFullPath(DefaultMutableTreeNode defaultMutableTreeNode){

StringBuilder sb = new StringBuilder();

Object[] objs = defaultMutableTreeNode.getUserObjectPath();

for (int i = 0; i  objs.length; i++) {

sb.append(objs[i]);

}

return sb.toString().replace(ROOT,"");

}

public void init(){

for (int i = 0; i  GRADE_NUM; i++) {

for (int j = 0; j  CLASS_NUM; j++) {

int n = new Random().nextInt(30)+1;

ListStudent stdList = new ArrayList(n);

for (int k = 0; k  n; k++) {

stdList.add(new Student(RandomUtils.randomIntId(),RandomUtils.randomName(),RandomUtils.randomSex(),

RandomUtils.randomAge(6,12),RandomUtils.randomAddress()));

}

classes.put(CH_NUM[i] + "年级"+ CH_NUM[j] +"班", stdList);

}

}

}

public static void main(String[] args) {

StudentManage studentManage = new StudentManage();

studentManage.init();

}

}

class Student {

private int id;

private String name;

private String sex;

private int age;

private String address;

public Student(int id, String name, String sex, int age, String address) {

this.id = id;

this.name = name;

this.sex = sex;

this.age = age;

this.address = address;

}

public Student() {

}

public int getId() {

return id;

}

public String getName() {

return name;

}

public String getSex() {

return sex;

}

public int getAge() {

return age;

}

public String getAddress() {

return address;

}

@Override

public String toString() {

return "Student{" +

"id=" + id +

", name='" + name + '\'' +

", sex='" + sex + '\'' +

", age=" + age +

", address='" + address + '\'' +

'}';

}

}

用JAVA编一个班级成绩管理系统(我是一个初学者希望可以有注释)

/**

* GenericLinkedStack.java

*/

package fix;

import java.util.EmptyStackException;

/**

*泛型的链式栈数据结构

*/

public class GenericLinkedStackE {

// 栈顶元素

private Item top = null;

// 返回栈顶元素,并弹出

public E pop() throws EmptyStackException {

if (isEmpty()) {

throw new EmptyStackException();

}

E e = top.value;

top = top.next;

return e;

}

/**

* 栈顶压入一个元素

* @param e 被压入的元素

*/

public void push(E e) {

Item curr = new Item(e);

curr.next = top;

top = curr;

}

/**

* 返回栈顶元素,但不出栈

* @return 栈顶元素

*/

public E peek() {

if (isEmpty()) {

throw new EmptyStackException();

}

return top.value;

}

/**

* 判断栈是否为空

* @return 判断结果

*/

public boolean isEmpty() {

return top == null;

}

/**

* 栈中元素

* @author jilen

*

*/

class Item {

//元素

private E value;

//下一个

private Item next;

public Item(E e) {

this.value = e;

}

public E getValue() {

return value;

}

public void setValue(E value) {

this.value = value;

}

public Item getNext() {

return next;

}

public void setNext(Item next) {

this.next = next;

}

}

}

/**

* InfixToPostfixConverter.java

*/

package fix;

import java.util.Hashtable;

/**

* @author jilen

*

*/

public class InfixToPostfixConverter {

// 操作符及其优先级组成的键值对

private static final HashtableCharacter, Integer operators;

private StringBuffer infix;

private StringBuffer postfix;

GenericLinkedStackCharacter stack = new GenericLinkedStackCharacter();

// 初始化操作符列表,static语句块会在加载类时自动执行

static {

operators = new HashtableCharacter, Integer();

operators.put('^', 4);

operators.put('*', 3);

operators.put('/', 3);

operators.put('%', 3);

operators.put('+', 2);

operators.put('-', 2);

operators.put('(', -1);

operators.put(')', 5);

}

/**

*

*/

public InfixToPostfixConverter(StringBuffer infix, StringBuffer postfix) {

this.infix = infix;

this.postfix = postfix;

}

/**

* 转换函数

*/

public void convertToPostfix() {

// 对输入字符串中字符遍历

for (int i = 0, n = infix.length(); i n; i++) {

char c = infix.charAt(i);

// 是数字之间添加到转换后字符串

if (isNumber(c)) {

postfix.append(c);

} else if (isOperator(c)) {

switch (c) {

// '(' 直接入栈

case '(':

stack.push(c);

break;

// ')' 弹出元素直到碰到'('

case ')':

while (!stack.isEmpty() stack.peek() != '(') {

postfix.append(stack.pop());

}

stack.pop();

break;

// 其他操作符

default:

// 当前操作符比栈顶操作符优先级高,直接入栈

if (stack.isEmpty() || precedence(c, stack.peek())) {

stack.push(c);

}

// 当前操作符比栈顶操作符优先级低,出栈直到为空或栈顶优先级低于当前操作符

else if (!precedence(c, stack.peek())) {

while (!stack.isEmpty() !precedence(c, stack.peek())) {

postfix.append(stack.pop());

}

stack.push(c);

}

break;

}

}

}

// 若栈中还有操作符,所以元素出栈

while (!stack.isEmpty()) {

postfix.append(stack.pop());

}

}

/**

* 判断是否为操作符

* @param c

* @return

*/

public static boolean isOperator(char c) {

return operators.containsKey(c);

}

/**

* 优先级大小关系operator1 operator2 则返回true,否则false

* @param operator1

* @param operator2

* @return 判断结果

*/

public static boolean precedence(char operator1, char operator2) {

return operators.get(operator1) operators.get(operator2);

}

/**

* 是否数字

* @param c 要判断的字符

* @return 判断结果

*/

public static boolean isNumber(char c) {

return c = '0' c = '9';

}

}

/**

*Main.java测试类

*/

package fix;

/**

* @author Administrator

*

*/

public class Main {

/**

* @param args

*/

public static void main(String[] args) {

StringBuffer infix = new StringBuffer("(1+2)*3/4");

StringBuffer postfix = new StringBuffer();

InfixToPostfixConverter converter = new InfixToPostfixConverter(infix,

postfix);

converter.convertToPostfix();

System.out.println(postfix.toString());

}

}

中缀转后缀的程序,有GenericLinkedStack.java,InfixToPostfix.java,Main.java三个源文件需要放在fix包下

用java的if语句编写个班级管理程序,用于接收姓名实例化,可以自动分配学号和班级

public static void main(String... args) {

// 姓名列表

String[] names = new String[]{"张1", "张2", "张3", "张4", "张5", "张6", "张7", "张8", "张9", "张10", "张11", "张12", "张13", "张14",

"张15", "张16", "张17", "张18", "张19", "张20", "张21", "张22", "张23"};

MapString, ListJSONObject result = new HashMap();

String classIndex = "class%s";

for (int i = 0; i  names.length; i++) {

String classKey = String.format(classIndex, Integer.parseInt(String.valueOf(i / 10)) + 1);

JSONObject person = new JSONObject();

person.put("id", StringUtils.leftPad(String.valueOf(i + 1), 5, "0"));

person.put("name", names[i]);

person.put("class", classKey);

ListJSONObject classValues = result.get(classKey);

if (null == classValues) {

classValues = new ArrayList();

classValues.add(person);

result.put(classKey, classValues);

} else {

classValues.add(person);

}

}

System.out.println(JSONObject.toJSONString(result));

}


本文标题:班级管理JAVA代码 基于java的班级管理系统
URL分享:http://scyanting.com/article/doiscdp.html