快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

java班级管理系统代码 班级管理系统的代码

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

public class RandomUtils {

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站建设、西华网络推广、微信平台小程序开发、西华网络营销、西华企业策划、西华品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供西华建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

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实现班费管理系统代码

关于这个问题不知道你是想要Java的实现代码还是如何设计这个系统?

1. 如果是要代码,那么只能自己到网络上看看是否有类似的程序。

我的建议你可以搜索一些财务/费用管理的一些小软件完全满足班费管理的需求,看看是否有类似的代码。

2. 如果是咨询设计思路

系统相对比较简单,类似一个小的费用管理系统,收钱和花钱;1)以班级为单位记录班级的班费收入,2)支出班费是关键需要能够维护班费的费用类型(设置可以有2级、3级细分便于统计);3)支出时记录费用所支出的费用所属类型;4)汇总统计分析、明细报表分析

用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班级管理系统代码 班级管理系统的代码
文章源于:http://6mz.cn/article/docpegp.html

其他资讯