学习第三周

学生管理系统

----------------------------------------------------------------------------------------------------------------------------

public class StudentManager {
/**学生数组*/
public static Student[] stuArray = new Student[20];

/**学生人数*/
public static int number = 0;

public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "欢迎光临");
boolean isLand = login();
if(isLand == false){
JOptionPane.showMessageDialog(null, "非法用户");
System.exit(0);
}

while(true){
String s = JOptionPane.showInputDialog(null,
"1、添加\n2、显示\n3、删除\n4、查找\n5、修改\n6、排序\n7、退出");
int item = Integer.parseInt(s);
switch(item){
case 1:
add();
break;
case 2:
show();
break;
case 3:
del();
break;
case 4:
find();
break;
case 5:
update();
break;
case 6:
sort();
break;
case 7:
System.exit(0);
break;
default:
JOptionPane.showMessageDialog(null, "请选择1-7");
break;
}
}

}
/**
* 排序
*/
public static void sort(){
for(int i=0;i<number;i++){
for(int j=i+1;j<number;j++){
if(stuArray[i].grade < stuArray[j].grade){
Student s = stuArray[i];
stuArray[i] = stuArray[j];
stuArray[j] = s;
}
}
}
show();
}

/**
* 修改
*/
public static void update(){
int index = findByName();
if(index != -1){
String codeStr = JOptionPane.showInputDialog(null,"请重新输入学号");
String nameStr = JOptionPane.showInputDialog(null,"请重新输入姓名");
String gradeStr = JOptionPane.showInputDialog(null,"请重新输入成绩");

stuArray[index].code = Integer.parseInt(codeStr);
stuArray[index].name = nameStr;
stuArray[index].grade = Integer.parseInt(gradeStr);

show();
}
}
/**
* 查找
*/
public static void find(){
int index = findByName();
if(index != -1){
JOptionPane.showMessageDialog(null,
"学号:"+stuArray[index].code+" 姓名:"+stuArray[index].name+" 成绩:"+stuArray[index].grade);
}
}
/**
* 删除
*/
public static void del(){
int index = findByName();
if(index != -1){
for(int i = index;i<number;i++){
stuArray[i] = stuArray[i+1];
}
number--;
show();
}
}
/**
* 显示
*/
public static void show(){
String str = "学号 姓名 成绩\n";
for(int i=0;i<number;i++){
str += stuArray[i].code+" "+stuArray[i].name+" "+stuArray[i].grade+"\n";
}
JOptionPane.showMessageDialog(null, str);
}
/**
* 添加
*/
public static void add(){
String codeStr = JOptionPane.showInputDialog(null,"请输入学号");
String nameStr = JOptionPane.showInputDialog(null,"请输入姓名");
String gradeStr = JOptionPane.showInputDialog(null,"请输入成绩");

Student s = new Student();
s.code = Integer.parseInt(codeStr);
s.name = nameStr;
s.grade = Integer.parseInt(gradeStr);

stuArray[number] = s;

number ++;
show();
}
/**
* 登陆
* @return 登陆是否成功
*/
public static boolean login(){
for(int i=0;i<3;i++){
String userName = JOptionPane.showInputDialog(null,"请输入用户名");
String pwd = JOptionPane.showInputDialog(null,"请输入密码");

if(userName.equals("java") && pwd.equals("123")){
return true;
}
else{
JOptionPane.showMessageDialog(null, "用户名或密码错误");
}
}

return false;
}
/**
* 根据姓名,查找该姓名所在的下标
* @return 姓名对应的下标,如果没有找到,返回-1
*/
public static int findByName(){
String name = JOptionPane.showInputDialog(null,"请输入姓名");
for(int i=0;i<number;i++){
if(name.equals(stuArray[i].name)){
return i;
}
}

JOptionPane.showMessageDialog(null, "查无此人");
return -1;
}
}

这里最大的问题是如何实现无限制的添加学生信息,但是目前无法做出来需要学习到以后的知识才能实现随后我们还学习了新的知识然后有了学生管理系统的改良版。

------------------------------------------------------------------------------------------------------------------------------------------------

package zhang;

import javax.swing.JOptionPane;

public class Student {
// 数组长度
// public static int number[] = new int[20];
// public static String name[] = new String[20];
// public static int score[] = new int[20];
public static int count = 0;
public static Student1[] stuarry=new Student1[20];

/**
* 判断是否登录成功
*
* @return是否登录
*/
public static boolean login() {
int a = 3;
String c = "12";
String d = "zh";
boolean island = false;
while (a >= 1) {
a--;
String code = JOptionPane.showInputDialog(null, "请输入帐号:");
String pwd = JOptionPane.showInputDialog(null, "请输入密码:");

if (pwd.equals(c) && code.equals(d)) {
island = true;
break;
} else {
JOptionPane.showMessageDialog(null, "密码错误");

}
}

return island;
}

/**
* 添加
*/
public static void add() {
Student1 gg=new Student1();
String a = JOptionPane.showInputDialog(null, "请输入学号");
gg.number= Integer.parseInt(a);
gg.name= JOptionPane.showInputDialog(null, "姓名");
String b = JOptionPane.showInputDialog(null, "请输入分数");
gg.score= Integer.parseInt(b);

stuarry[count]=gg;
count++;

}

/**
* 学生信息显示
*/
public static void showStudent() {
String str = " ";
for (int i = 0; i < count; i++) {

str += stuarry[i].number + " " + stuarry[i].name + " " + stuarry[i].score + "\n";

}
JOptionPane.showMessageDialog(null, str);
}

/**
* 删除
*/
public static void delete() {
String a = JOptionPane.showInputDialog(null, "请输入想要删除的学号");
int numbera = Integer.parseInt(a);
for (int i = 0; i < count; i++) {
if (stuarry[i].number == numbera) {

for (int j = i; j < count; j++) {
stuarry[j] = stuarry[j + 1];

}
count--;
}
}

}

/**
* 修改
*/
public static void change() {
int aa=find();

if(aa!=(-1)){
String b = JOptionPane.showInputDialog(null, "修改后的学号");
int numberb = Integer.parseInt(b);
String numberc = JOptionPane.showInputDialog(null, "修改后的姓名");
String d = JOptionPane.showInputDialog(null, "修改后的成绩");
int numberd = Integer.parseInt(d);
stuarry[aa].number = numberb;
stuarry[aa].name = numberc;
stuarry[aa].score = numberd;
}

}

/**
* 查询
*/
public static void select() {
int aa=find();

if (aa!=(-1)) {
JOptionPane.showMessageDialog(null, stuarry[aa]);

}
}

/**
* 排序
*/
public static void arrange() {
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - 1 - i; j++) {
if (stuarry[j].number < stuarry[j + 1].number) {

Student1 temp1= stuarry[j];
stuarry[j] = stuarry[j + 1];
stuarry[j + 1] = stuarry[i];

}

}
}

}
/**
* 按名字找下标
* @return想要找的名字的下标
*/
public static int find() {
String namea = JOptionPane.showInputDialog(null, "请输入想要查询 的学生名字");
for (int i = 0; i < count; i++) {
if ((stuarry[i].name).equals( namea)) {
return i;
}
}
JOptionPane.showMessageDialog(null, "查无此人");
return -1;
}

public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "欢迎来到学生管理系统");
boolean island = login();
while (true) {
String a = JOptionPane.showInputDialog(null,
"1学生信息的添加add\n2显示show\n3删除delete\n4修改\n5查询select\n6排序\n7退出功能。");
int xuan = Integer.parseInt(a);
switch (xuan) {
case 1:
add();
break;
case 2:
showStudent();
break;
case 3:
delete();
break;
case 4:
change();
break;
case 5:
select();
break;
case 6:
arrange();
break;
case 7:
System.exit(0);

}

}

}

}

------------------------------------------------------------------------------------------------------------------------------

这里需要记的新知识:

String s=JOptionPane.showInputDialog(null, "请输入帐号:");

//弹出输入框返回用户在对话框输入的内容

JOptionPane.showMessageDialog(null, str);

//弹出消息对话框,显示文字

int  n=Integer.ParseInt(s);

//将字符串转化为整形

double a=Double.ParseDouble(s);

//将字符串类型转化为double类型

时间: 2024-12-13 01:15:09

学习第三周的相关文章

201671010140. 2016-2017-2 《Java程序设计》java学习第三周

java学习第三周       不知不觉,学习java已经是第三周了,不同于初见时的无措,慌张,在接触一段时日后,渐渐熟悉了一些,了解到了它的便利之处,也体会到了它的一些难点,本周主攻第四章,<对象与类>,事实上,在第二周的实验中,我就已经接触过它了,当时我并不理解Scanner方法使用时,为什么要使用import语句,现在,通过学习第四章,我知道了,通过控制台进行输入时,需要构造一个Scanner对象,并与"标准输入流"System.in关联,使用import语句引入ja

linux学习第三周总结

linux学习第三周总结 学习linux的第三周,也是惊喜最多的一周,让我看到学linux并不是很枯燥,相反非常有趣,可玩性很多,但越深入越觉得可学习的地方有很多,也有非常多的不足,所以革命尚未成功,同志更需努力 同样来简单终结一下本周的重点,内容比较多,说要简单提一下,不做详解 一.shell脚本编程基础 内容:1. 编程基础 2. 脚本基本格式3. 变量4.运算5.条件测试6.条件判断if 7.条件判断case 8.配置用户环境 shell脚本:包含一些命令或声明,并符合一定格式的文本文件

学习H5三周感想

首先,我是一个不爱学习的孩子,不愿意动手,但是为了能够将来能够自食其力,我就选择了这个比较火的H5,希望自己将来有个能有个好的收入,可以娶她回家. 下面就说说我学习三周H5的感受吧.. 第一周:刚接触有新鲜感,感觉挺舒服的,但是越往后越让我感到害怕,看着那一行行的代码,我都在怀疑我是不是得了密集恐惧症.哈哈,可见我多想了,第一周学习简单的HTML语言,这个相对来说非常简单,就是所能做的图片不多,必须要和css以及js联合起来才能会出现各种各样缤纷色彩的网页.对第一个老师——许竞先的感受是:这个老

博览网C++学习第三周

本周学习真正的面向对象程序开发, 主要就是编写几个有关系(is-a)的类,然后编程的时候针对基类的指针和引用编程. 其实,C++在这里(指面向对象编程)有一些惯用法: 1. 基类析构函数必为虚函数 2. 基类应该要有虚函数(除了虚析函数外的虚函数),否则设计是有问题的. 3. C++中有一个派别认为虚函数(除了虚析函数外的虚函数 ) 都应该是private的, 这种思想本质上是将原本public的虚函数都"包裹"了一层非虚函数,非虚函数 调用私有虚函数也就是模板方法设计模式.我觉得明白

前端学习第三周BFC的学习

BFC之前学的时候没太懂,后来专门复习了下. BFC(Block formatting context):可以直接翻译为"块级格式化上下文",它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干. BFC的布局规则:1.内部的Box会在垂直方向,一个一个的放置:2.Box垂直方向的距离由margin决定.且同一个BFC的两个相邻Box的margin会发生重叠:3.每个元素的margin box的

python学习第三周(下 函数)

本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值  嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测试, 交集\差集\并集\反向(对称)差集 2. 元组 只读列表,只有count, index 2 个方法 作用:如果一些数据不想被人修改, 可以存成元组,比如身份证列表 3. 字典 key-value对 特性: 无顺序 去重 查询速度快,比列表快多了 比list占用内存多 为什么会查询速度会快呢?

python3学习第三周

1.列表,元组操作 列表是通过下标(索引)对元素进行增删该查的. 列表中可以嵌套列表,元组. 列表是有序的. 元组是只读的,不能更改. 2.字符串操作 字符串是不能更改的 3.字典操作 字典是通过key对value进行增删改查的. 字典可以嵌套列表,字典. 字典是无序的. 4.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用是 a.去重:把一个列表变成集合,就自动去重了. b.关系测试:测试两组数据之间的交集.差集.并集等关系. a=set([1,2,3,4,5,6])   #创建一个

机器人学-估计与学习-第三周

3.1 robotic mapping 3.1.1 Introduction 3.1.2 Introduction to mapping Map and Mapping (1) map is a spatial model of robot's environment (2) mapping is a process for building a map (3) consideration for mapping - map representation - avalable sensors -

python学习第三周总结

一.Python中的set集合 1.set概念 set是可变的.无序的.不重复的元素集合.set的元素及元素里面的元素不能出现不可哈希类型.(即set的元素要求必须可以hash) 常用的不可hash类型有list.set.bytearray set的元素不可索引,但可以迭代 2.set定义 例如: s1 = set() 例如: s2 = set(range(5)) 例如: s3 = {‘a’,2,2,3,‘abc’} 等价于set = {‘a’,2,3,‘abc’}.set里面的元素不能重复.