java————数组 简单写出一个管理系统
数组的特点
1, 数组是一块连续的空间,下标描述空间的位置。
2, 下标从0开始,最大下标为数组长度—1。(*.length-1)
3, 数组元素都是变量。(就是每个下标对应的内容)。变量的类型为定义数组时的类型。
4, 数组创建后,会对每个数组进行初始化。
Int ——>0
Double——>0.0
引用类型——>null
5, 数组创建后,长度不能改变。
只用数组简单写出一个学生管理系统
public class Student {
// 定义学号数组
static int[] xh = new int[20];
// 定义姓名数组
static String[] xm = new String[20];
// 定义成绩数组
static int[] cj = new int[20];
// 定义输入次数
static int count = 0;
//主入口
public static void main(String[] args) {
dl();
while (true) {
String itme = JOptionPane.showInputDialog(null, "1,添加\n2,显示\n3,删除\n4,查找\n5,修改\n6,排序\n7,退出");
switch (itme) {
case "1":
add();
break;
case "2":
xs();
break;
case "3":
delete();
break;
case "4":
seek();
break;
case "5":
amend();
break;
case "6":
jx();
break;
case "7":
System.exit(0);
}
}
}
// 登录
public static boolean dl() {
JOptionPane.showMessageDialog(null, "欢迎光临");
int index = -1;
for (int i = 0; i < 3; i++) {
String y = JOptionPane.showInputDialog(null, "请输入用户名");
String m = JOptionPane.showInputDialog(null, "请输入密码");
if (y.equals("java") && m.equals("123")) {
JOptionPane.showMessageDialog(null, "登陆成功");
break;
} else {
JOptionPane.showMessageDialog(null, "用户名或密码错误,请从新输入");
index += i;
}
}
if (index != -1) {
JOptionPane.showMessageDialog(null, "非法用户");
}
return false;
}
//因为查找,修改,删除都有一个功能,那就是先找出一个名字,在功能于该名字
//那么就可以再单独写一个找这个名字的方法,后面的功能直接调用就行了
//找该名字的下标,返回int类型,返回值为-1;
public static int findMyName(){
if(count ==0){
JOptionPane.showMessageDialog(null, "没有学生信息");
return -1;
}else{
String name = JOptionPane.showInputDialog(null, "请输入学生的名字:");
for (int i = 0; i < count; i++) {
if (name.equals(xm[i])) {
return i; //找到你要找的学生所在的下标位置
}
}
JOptionPane.showMessageDialog(null, "没有找到此人");
return -1;//没找到就返回-1
}
}
// 添加
public static void add() {
int xh1 = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入学号:"));
xh[count] = xh1;
String name = JOptionPane.showInputDialog(null, "请输入姓名:");
xm[count] = name;
int cj1 = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入成绩:"));
cj[count] = cj1;
count++;
}
// 显示
public static void xs() {
if(count !=0){
String all = "学号 姓名 成绩\n";
for (int i = 0; i < count; i++) {
all += xh[i] + " " + xm[i] + " " + cj[i] + "\n";
}
JOptionPane.showMessageDialog(null, all);
}else
JOptionPane.showMessageDialog(null, "没有学生信息");
}
// 删除
public static void delete() {
int index =findMyName();
if (index != -1) {
for(int i=index;i<count-1;i++){
xh[i] = xh[i+1];
xm[i] = xm[i+1];
cj[i] = cj[i+1];
}
count--;
xs();
}
}
// 查找
public static void seek() {
int index = findMyName();
if (index != -1) {
String all = "学号 姓名 成绩\n";
all += xh[index] + " " + xm[index] + " " + cj[index] + "\n";
JOptionPane.showMessageDialog(null, all);
}
}
// 修改
public static void amend() {
int index = findMyName();
if (index != -1) {
xh[index] =Integer.parseInt(JOptionPane.showInputDialog(null,"请输入学号:"));
xm[index] =JOptionPane.showInputDialog(null,"请输入姓名");
cj[index] =Integer.parseInt(JOptionPane.showInputDialog(null,"请输入成绩"));
xs();
}
}
// 降序输出
public static void jx() {
for (int i = 0; i < cj.length; i++) {
for (int j = i + 1; j < cj.length; j++) {
if (cj[i] < cj[j]) {
int gread = cj[j];
cj[j] = cj[i];
cj[i] = gread;
String name = xm[j];
xm[j] = xm[i];
xm[i] = name;
int number = xh[j];
xh[j] = xh[i];
xh[i] = number;
}
}
}
xs();
}
}
java————数组 简单写出一个管理系统的更多相关文章
- 输入一个数字n 如果n为偶数则除以2,若为奇数则加1或者减1,直到n为1,求最少次数 写出一个函数
题目: 输入一个数字n 如果n为偶数则除以2,若为奇数则加1或者减1,直到n为1,求最少次数 写出一个函数 首先,这道题肯定可以用动态规划来解, n为整数时,n的解为 n/2 的解加1 n为奇数时 ...
- 用js写出一个漂亮的单选框选中效果
一般的input框比较简单,我们可以用JavaScript配合css背景图片定位让我们模拟写出一个点击选中效果 首先需要有个图片素材,当页面加载的时候是背景图片定位到左图,当我们点击图片的时候,背景图 ...
- 【C++】从零开始的CS:GO逆向分析3——写出一个透视
[C++]从零开始的CS:GO逆向分析3--写出一个透视 本篇内容包括: 1. 透视实现的方法介绍 2. 通过进程名获取进程id和进程句柄 3. 通过进程id获取进程中的模块信息(模块大小,模块地址, ...
- 如何写出一个让人很难发现的bug?
程序员的日常三件事:写bug.改bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含bug. 那么如何写出一个让(坑)人(王)很(之)难(王)发现的bug呢? - 1 -新手开发+ ...
- 浅谈如何写出一个让(坑)人(王)很(之)难(王)发现的bug
该文章内容来自脚本之家,原文链接:https://www.jb51.net/news/598404.html 程序员的日常三件事:写bug.改bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因 ...
- 请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件。
请写出一个超链接,点击链接后可以向zhangsan@d-heaven.com发送电子邮件. <a href=”mailto: zhangsan@d-heaven.com”>发邮件</ ...
- 2019-8-31-C#-如何写出一个不能被其他程序集继承的抽象类
title author date CreateTime categories C# 如何写出一个不能被其他程序集继承的抽象类 lindexi 2019-08-31 16:55:58 +0800 20 ...
- JS函数 编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数。
编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数. 任务 第一步: 编写代码完成一个函数的定义吧. 第二步: 我们来补充函数体中的控制语句,完成函数功能吧. 提示: ...
- C# 如何写出一个不能被其他程序集继承的抽象类
我需要限定某个抽象类只能在我程序集类实现,而不支持其他程序集实现,也就是我需要一个不能被继承的抽象类 在 C# 里面有抽象类和接口,这两个都是期望被继承才能被使用,而抽象类是可以做到只能在自己程序集和 ...
随机推荐
- 语法、id和class选择器、创建、
一. 1.CSS规则由两个主要部分构成:选择器,以及一条或多条声明(每条声明由一个属性和一个值构成,属性和值被冒号分开). 2.声明以分号“:”结束,生命组用大括号“{}”括起来. [示例:p {co ...
- linux&Mysql
安装iptable yum install iptables-services --- 安装并解压相关文件到mysql /usr/local/mysql --- 配置 未完待续(由于阿里云已经安装好我 ...
- 记录配置xshell显示中文乱码的一次巧合
linux系统设置了中文UTF8,xshell终端也设置了中文UTF8,但xshell仍然无法显示中文,于是想起可能是字体显示问题. 设置楷体字体后,虽然文字方向还有问题,但乱码显示的问题解决了,方向 ...
- 嵌入式Linux系统的构成和启动过程
转自:http://blog.csdn.net/weiganyi/article/details/11561859 在我们的周围,大量的嵌入式设备都是基于Linux系统来构建的,嵌入式Linux与主机 ...
- MySQL中MyISAM与InnoDB区别
原文:https://blog.csdn.net/frycn/article/details/70158313?utm_source=copy InnoDB:支持事务处理等不加锁读取支持外键支持行锁不 ...
- 关于Apache的配置方法和步骤
一.下载.安装和卸载 网址:https://httpd.apache.org/docs/current/platform/windows.html#down 点击ApacheHaus,在里面下载任何版 ...
- linux 查看并对外开放端口(防火墙拦截处理)
[转]https://blog.csdn.net/qq564425/article/details/80760528 Web应用在Tomcat部署后无法访问,可能是防火墙端口限制导致 查看端口是否可访 ...
- json元素顶部插入unshift、尾部插入push、顶部获取shift、尾部获取pop
1)json元素插入 var json=[ //顶部位置 {id:1,name:'B'}, {id:2,name:'C'}, {id:3,name:'D'}, //尾部位置 ] 顶部位置)json.u ...
- Scientific Toolworks Understand 软件教程
系统:Ubuntu16.04 x64 安装 安装包 下载地址: part1:http://download.csdn.net/detail/p942005405/9711128 part2:http: ...
- OO第一单元作业总结之初识面向对象
第一个单元的三次作业均为求导,循序渐进的让我们掌握如何构造类和方法,让整个代码是面向对象的设计而不是面向过程的设计.如果第一次作业和第二次作业你只是简单的对过程着手架构类,到了第三次作业就会变得格外麻 ...