初识Java-分数录入系统
package classTest;
import java.util.Scanner;
public class scoreArrangement {
/**
* 选择界面(main)
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] name = new String[2];
String[] password = new String[2];
int i = 0;// main函数和register函数里面,数组的下标
while (true) {
System.out.println("选择菜单");
System.out.print("A、注册 B、登陆 C、退出");
String choice = sc.next();
switch (choice) {
case "a":
case "A":
if (name[1] == null) {
System.out.println(name[0] + " " + password[0]);
System.out.println(name[1] + " " + password[1]);
i = register(name, password, i);
break;
} else {
System.out.println("已注册满!");
break;
}
case "b":
case "B":
dengLu(name, password);
break;
case "c":
case "C":
System.out.println("退出成功");
System.exit(-1);
break;
default:
System.out.println("无效输入,重新选择!");
break;
}
}
}
/**
* 注册
*/
public static int register(String[] a, String[] b, int x) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入用户名:");
a[x] = sc.next();
System.out.println("请输入密码:");
b[x] = sc.next();
System.out.println("注册成功,用户名为:" + a[x] + " 密码为:" + b[x]);
x++;
return x;
}
/**
* 登陆
*/
public static void dengLu(String[] a, String[] b) {
Scanner sc = new Scanner(System.in);
int times = 0;
System.out.println(a[0] + " " + b[0]);
System.out.println(a[1] + " " + b[1]);
while (times < 3) {
System.out.print("请输入用户名:");
String name = sc.next();
System.out.println("请输入密码:");
String password = sc.next();
for (int x = 0; x < 2; x++) {
if (name.equals(a[x]) && password.equals(b[x])) {
fenShuGuanLi();
times = 3;
break;
} else {
System.out.println("用户名或者密码不对,重新输入。");
times++;
if (times == 3) {
System.out.println("3次输入错误,退出!");
// System.exit(-1);如果需要停止运行,加上此行代码。
}
break;
}
}
}
}
/**
* 分数管理
*/
public static void fenShuGuanLi() {
String[] name = new String[100];
double[] score = new double[100];
Scanner sc = new Scanner(System.in);
int index = 1;
int number = 0;// 学生姓名数组下标
while (index == 1) {
System.out.println("输入选择:");
System.out.println("1、录入学生成绩。");
System.out.println("2、修改学生成绩。");
System.out.println("3、删除学生成绩。");
System.out.println("4、查询单个学生成绩。");
System.out.println("5、查询所有学生成绩。");
System.out.println("6、平均成绩。");
System.out.println("7、返回上级菜单。");
int choice = sc.nextInt();
switch (choice) {
case 1:
if(number==99){
System.out.println("数据已满,不能继续录入。");
break;
}
number = luRuFenShu(name, score, number);
break;
case 2:
xiuGaiFenShu(name, score, number);
break;
case 3:
shanChuFenShu(name,score,number);
break;
case 4:
chaXunFenShu(name, score);
break;
case 5:
chaXunAll(name,score,number);
break;
case 6:
average(name,score,number);
break;
case 7:
index = 0;
break;
default:
System.out.println("无效选择,重新输入。");
break;
}
}
}
/**
* 录入分数
*/
public static int luRuFenShu(String[] name, double[] score, int number) {
if (number > 99) {
System.out.println("存储空间不足,不能录入!返回上级菜单。");
return number;
}
// System.out.println("Welcome lurufenshu!");
Scanner sc = new Scanner(System.in);
int index = 0;
while (index == 0) {
System.out.println("请输入学生姓名:");
String userName = sc.next();
name[number] = userName;
System.out.println("请输入学生分数:");
double userScore = sc.nextDouble();
score[number] = userScore;
System.out.println("录入信息成功,是否继续录入?Y/N");
int index1 = 0;
while (index1 == 0) {
String choice = sc.next();
switch (choice) {
case "y":
case "Y":
number++;
index1 = 1;
break;
case "n":
case "N":
number++;
return number;
default:
System.out.println("无效指令,请重新输入:");
break;
}
}
}
return number;
}
/**
* 修改分数
*/
public static void xiuGaiFenShu(String[] name, double[] score, int number) {
System.out.println("请输入学生名字:");
Scanner sc = new Scanner(System.in);
if (name[0] != null) {
String userName = sc.next();
int i = 0;
for (i = 0; i < number; i++) {
if (name[i].equals(userName)) {
System.out.println("请输入修改后的分数:");
score[i] = sc.nextDouble();
System.out.println("修改成功! " + name[i] + " " + score[i] + "分");
break;
}
}
if (i == number) {
System.out.println("没有该学生信息!");
}
} else {
System.out.println("数据库为空,请先录入数据!");
}
}
/**
* 删除分数
*/
public static int shanChuFenShu(String[]name,double[]score,int number) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除成绩的学生名字:");
String userName=sc.next();
for(int i=0;i<=number;i++){
if(name[i].equals(userName)&&i==99){
System.out.println("删除成功!");
name[i]=null;
score[i]=0;
}else if(name[i].equals(userName)){
System.out.println("删除成功!");
name[i]=name[i+1];
name[i+1]=null;
score[i]=score[i+1];
score[i]=0;
number--;
}
}
return number;
}
/**
* 查询单个分数
*/
public static void chaXunFenShu(String[] name, double[] score) {
System.out.println("请输入学生名字:");
Scanner sc = new Scanner(System.in);
String userName = sc.next();
if (name[0] != null) {
int i = 0;
for (i = 0; i < name.length - 1; i++) {
if (name[i].equals(userName)) {
System.out.println("该学生的成绩是:" + score[i] + "分。");
break;
}
}
if (i == name.length - 1) {
System.out.println("没有该学生信息!");
}
} else {
System.out.println("数据库为空,请先录入成绩!");
}
}
/**
* 查询全部分数
*/
public static void chaXunAll(String[]name,double[]score,int number) {
if (name[0] != null) {
for(int i=0;i<number;i++){
System.out.println(name[i]+"、"+score[i]+"分.");
}
} else {
System.out.println("数据库为空,请先录入成绩!");
}
}
/**
* 求平均分
*/
public static void average(String[]name,double[]score,int number) {
double averageScore=0;
double sum=0;
for(int i=0;i<name.length-1;i++){
sum+=score[i];
}
System.out.println("平均分为:"+sum/(number+1));
}
}
初识Java-分数录入系统的更多相关文章
- 初识Java Java基础知识
今天给大家带来的是初级Java基础部分的知识:包括初识Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!!!内容.步骤超详细,附有各种案例的源代码(可以直接 ...
- 初识Java
Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以极强的安全性.平台无关性.硬件结构无关性.语言简洁.面向对象的特点,在网络编程语言中占据了无可比拟的优势 ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- Personal Learning Path of Java——初识Java
初识Java 在我个人看来,Java是一门高大上的面向编程语言,这也是Java吸引我的地方.在自学Java之前,我在学校大概学过了一些C语言的知识,在学校学的那点C语言纯属是拿来打基础用的,大概了解了 ...
- day01-day02 初识java、注释、变量、变量命名、基本数据类型
1. 初识java 1) 什么是java java是一门高级的计算机编程语言 2) JDK的安装 2.1) 下载2.2) 安装2.3) 验证 3) 环境变量的配置 3.1) 打开环境变量3.2) 配置 ...
- Java入门——初识Java
Java入门——初识Java 摘要:本文主要对Java这门编程语言进行简单的介绍. Java简介 说明 Java语言历时十多年,已发展成为人类计算机史上影响深远的编程语言,从某种程度上来看,它甚至超出 ...
- java中获取系统属性以及环境变量
java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户 ...
- 彻底明白Java的IO系统
java学习:彻底明白Java的IO系统 文章来源:互联网 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有 ...
随机推荐
- python cmd下运行中文乱码 策略
如我运行一个脚本,执行后输出中文看不懂 然后呢在文件头加上 from __future__ import unicode_literals 注意:需要去掉所有字符串前的 u, 这样所有字符串均默认为u ...
- React Native + Nodejs 使用RSA加密登录
想用rn做个RSA(非对称加密)登录 基本流程就是在服务端生成RSA后,将“公钥”发到客户端,然后客户端用“公钥”加密信息发送到服务端,服务务端用私钥解密. 过程不复杂,问题在于,nodejs和rn都 ...
- 基于Flask的Web应用部署到SAE上遇到的问题
我的应用底层数据库用的是MySQL,利用Flask-SQLALchemy实现接口操作.我遇到的问题是: 在我把代码部署到SAE上后,当数据向数据库insert的时候总是出现“2006,MySQL ha ...
- Trie树-字典查找
描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进. 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题: ...
- webpack初学
写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段 ...
- Linux快捷键和别名
一.设置别名 1使用命令行 alias 别名='命令'(只对本次登陆生效) 2.使用配置文件设置别名(永久生效) vi /root/.bashrc 打开系统别名配置文件,一般是用 ...
- 字符编码和python .encode().decode()方法
字符编码与encode.decode的问题: 用8个开关表示世界万物 ASCII : American Standard Code for Information Interchange,美国 ...
- 分享SQL Server 2012/2014内存数据库,AlwaysOn,参考教材与网上总结
Sql Server 2012 高可用性的几种方案的比较,AlwaysOn优势何在 对Sql Server 2012 高可用性与灾难恢复的几种方案的比较,复制,集群,镜像优劣何在,新生技术Always ...
- Python学习路程day19
Python之路,Day19 - Django 进阶 本节内容 自定义template tags 中间件 CRSF 权限管理 分页 Django分页 https://docs.djangoproj ...
- YARN资料收集
hdfs2的HA: http://www.cnblogs.com/meiyuanbao/p/hadoop2.html