您的位置:首页 > 运维架构

用JOptionPane类是实现一个简单的学生成绩管理

2013-04-15 20:43 495 查看
package com.lovo.main;

import javax.swing.JOptionPane;

public class MainModth {

static int[] nums = new int[20]; //存放学号
static String[] unames = new String[20];//存放姓名
static int[] grades = new int[ 20];//存放成绩
static int nar = 0;//存放数组最大下标
/**
* main方法
*/
public static void main(String[] args) {
int n = 0;//记录登录次数
int num = 0;//接收输入的操作编号
JOptionPane.showMessageDialog(null, "欢迎光临");
while(n<3){
if(loginIf()){
break;
}
else{
JOptionPane.showMessageDialog(null, "用户名或密码错误");
}
if(n == 2){
JOptionPane.showMessageDialog(null, "非法用户");
System.exit(0);
}
n++;
}
//登录成功,显示主界面
while(true){
String sNum = JOptionPane.showInputDialog("1、添加\n" +
"2、显示\n" +
"3、删除\n" +
"4、查找\n" +
"5、修改\n" +
"6、排序\n" +
"7、退出\n","1");
if(sNum!=null){
num = Integer.parseInt(sNum);
}
else{
JOptionPane.showMessageDialog(null, "非法输入");
}
switch (num) {
//添加学生成绩
case 1:
addNum();
showNum();
break;
//显示所有信息
case 2:
showNum();
break;
//删除学生成绩
case 3:
deleteNum();
showNum();
break;
//查找学生成绩
case 4:
fNum();
break;
//修改学生成绩
case 5:
xNum();
showNum();//修改成功显示信息
break;
//降序排列
case 6:
pxNum();
showNum();//排序成功显示信息
break;
//退出
case 7:
exit();
break;

default:
JOptionPane.showMessageDialog(null, "非法输入");
break;
}
}

}
/**
* 判断登录是否成功
*/
public static boolean loginIf(){
String user = JOptionPane.showInputDialog("请输入用户名:","123");
String pwd = JOptionPane.showInputDialog("请输入密码:","123");
if(login(user,pwd)){
return true;
}
else{
return false;
}

}
/**
* 登录验证
* @param user 用户名
* @param pwd  密码
* @return
*/
public static boolean login(String user,String pwd){
if(user.equals("123")&&pwd.equals("123")){
return true;
}
else{
return false;
}
}
/**
* 添加数据
* @param name 姓名
* @param num  学号
* @param grade成绩
* @return
*/
public static boolean addNum(){
String snum = JOptionPane.showInputDialog("请输入学号");
String name = JOptionPane.showInputDialog("请输入姓名");
String sgrade = JOptionPane.showInputDialog("请输入成绩");
int num = Integer.parseInt(snum);
int grade = Integer.parseInt(sgrade);
if(nar>nums.length){
JOptionPane.showMessageDialog(null, "学生已满");
return false;
}
else{
nums[nar] = num;
unames[nar] = name;
grades[nar] = grade;
nar++;
return true;
}
}
/**
* 显示所有信息
*/
public static void showNum(){
String s = "学好   姓名   成绩\n";
for (int i = 0; i < nar; i++) {
s += nums[i] + "        " + unames[i] + "        " + grades[i]+"\n";
}
JOptionPane.showMessageDialog(null, s);
}

/**
* 删除学生成绩
*/
public static boolean deleteNum(){
int n = -1;
String name = JOptionPane.showInputDialog("请输入删除学生姓名");
for (int i = 0; i < nar; i++) {
if(unames[i].equals(name)){
n = i;
break;
}
}
if(n == -1){
JOptionPane.showMessageDialog(null, "找不到该学生");
return false;
}
else{
for (int i = n; i < nar-1; i++) {
nums[i] = nums[i+1];
unames[i] = unames[i+1];
grades[i] = grades[i+1];
}
nar--;//最大下标-1
return true;
}

}
/**
* 查找信息
*/
public static void fNum(){
String fname = JOptionPane.showInputDialog("请输入查找学生姓名");
String s = "";
int n = -1;
for (int i = 0; i < nar; i++) {
if(unames[i].equals(fname)){
n = i;
}
}
if(n == -1){
JOptionPane.showMessageDialog(null, "没有找到该学生");
}
else{
JOptionPane.showMessageDialog(null, "学号:"+nums
+"  姓名:"+unames
+"  成绩:"+grades
);
}
return;
}
/**
* 修改信息
*/
public static boolean xNum(){
String name = JOptionPane.showInputDialog("请输入要修改的学生姓名");
String s = "";
int n = -1;
for (int i = 0; i < nar; i++) {
if(unames[i].equals(name)){
n = i;
}
}
if(n == -1){
JOptionPane.showMessageDialog(null, "没有找到该学生");
return false;
}
else{
String xnum = JOptionPane.showInputDialog("请输入学号");
String xname = JOptionPane.showInputDialog("请输入姓名");
String xgrade = JOptionPane.showInputDialog("请输入成绩");
int inum = Integer.parseInt(xnum);
int grade = Integer.parseInt(xgrade);
nums
= inum;
unames
= xname;
grades
= grade;
return true;
}
}

/**
* 排序
*/
public static void pxNum(){
int ctemp = 0;//存放成绩的中间变量
String ntemp = "";//存放姓名的中间变量
int xtemp = 0;//存放学号的中间变量
for (int i = 0; i < nar; i++) {
for (int j = i+1; j < nar; j++) {
if(grades[i]<grades[j]){
//交换成绩
ctemp = grades[i];
grades[i] = grades[j];
grades[j] = ctemp;
//交换学号
xtemp = nums[i];
nums[i] = nums[j];
nums[j] = xtemp;
//交换姓名
ntemp = unames[i];
unames[i] = unames[j];
unames[j] = ntemp;
}
}
}
}
/**
* 退出
*/
public static void exit(){
System.exit(0);
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: