初识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));
 }
}

时间: 2024-11-06 21:46:03

初识Java-分数录入系统的相关文章

作业6成绩录入系统设计阶段一

[必做 1] 列出成绩录入系统功能需求. [必做 2] 画出该学生成绩录入系统的用例图. [必做 3] 将系统开发工作分解为若干任务,画出WBS [必做 4] 将任务分配到团队成员.列出任务分配表. [选做 5] 陈述团队协作的出现的问题.矛盾.以及你是如何解决的. 贡献比:许洪科(50%)            袁宇鹏(50%) 1.列出功能需求(共同讨论完成) 基础性 扩展性 创新性 1.教师登录/注销 2.成绩录入/修改 3.学生查询成绩 1.成绩导入(从WPS或者Office中直接导入)

初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)

JAVA特点: 语法简单,学习容易 功能强大,适合各种应用开发:J2SE/J2ME/J2EE 面向对象,易扩展,易维护 容错机制好,在内存不够时仍能不崩溃.不死机 强大的网络应用功能 跨平台:JVM,字节码 两个命令: javac helloworld.java:将Java文件编译为字节码的.class文件 java helloworld:运行Java程序...??暂时这么认为 数据类型: 普通数据类型:int a=3; 对象数据类型:使用关键字new,String s=new String("

(一)初识java ---我的第一个java程序

初识java ---我的第一个java程序 课程目录 l  準備 l  開発環境的準備 l  環境変数Path設定 l  第一个程序 目标 «  实现自己的HelloWorld并运行看到结果 一.準備 (1)计算机(パソコン) (2)计算机硬件:肉眼能看到的部分 (3)计算机软件 系统软件:xp, windows, Linux, Mac 应用软件:office.qq…. (4)语言 自然语言:人与人交流沟通的 计算机语言:人与计算机交流沟通的 C,C++,C#,Java (5)人机交互 图形界面

初识Java Web

初识Java Web 系统学习Java Web也有一周时间了,整理一下这一周中接触到的新概念以及根据这一周的所学知识完成的一个基于JSP+Servlet+Java Bean+MySql的留言板Demo 几个概念 tomcat tomcat是一个"Web App Server",底层是Socket的一个程序,是JSP/Servlet的一个容器,简单来说,当我们在我们电脑本地编写HTML,css时,我们写的页面只能自己访问,别人不能远程访问我们写的页面,而tomcat就是一个能让别人访问自

java I/O系统(输入输出流)

java I/O系统(输入输出流) 流的特性1.含有流质(数据)2.它有方向(读或写) 流的分类: 输入流和输出流 输入流:io包中的输入流继承自抽象类InputStream或Reader 输出流:io包中的输入流继承自抽象类OutputStream或Writer 字节流和字符流 注:1字节代表1个英文单词存储的数据大小,一个汉字占两字节 1.字节流:以byte为最小单位传送,继承自抽象类InputStream或OutputStream,用于处理二进制文件,InputStream为读取字节流的父

屌丝的第一次博客 初识Java

大家好, 我是第一次玩这个博客,首先我要强调的是我不太会说话!如果有什么得罪的地方,你TM的来打我啊?(*^__^*) 嘻嘻!!! 前面只是和大家开了个玩笑,进入正题,本人是第一次接触Java,以后还要向大家请教啊! 现在只学习了Java的第一章“初识Java”,了解了一下Java的由来,以及他的发展史!! 最主要的是我知道了Java的程序结构,以及编写Java程序的注意事项,主要有以下几点: 1.Java的程序结构 public class 类名(必须要和文件名相同){ public stat

Java学习笔记心得——初识Java

初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开始走进Java的世界.  Java产生的历史 Java来自于Sun公司的一个叫Green Project中撰写的程序语言,全球信息网(World Wide Web)兴起,Java Applet成为网页互动技术的代表,特别适合于Internet应用程序开发. Java语言的特点 1.面向对象 这是Java最重要

java中获取系统属性以及环境变量

java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户定义的信息传递给 Java 进程.环境变量产生很多其它的全局效应,由于它们不仅对Java 子进程可见,并且对于定义它们的进程的全部子进程都是可见的.在不同的操作系统上,它们的语义有细微的区别,比方,不区分大写和小写.由于这些原因,环境变量更可能有意料不到的副作用.最好在可能的地方使用系统属性.环境变

作业5——需求分析(学生成绩录入系统)

[必做 1] 列出该学生成绩录入系统的利益相关者(stakeholder) 学生成绩录入系统的利益相关者(stakeholder):  1.用户:教师  2.顾客:教务管理人员 .学生   3.市场分析师:评估该系统的价值  3. 监管机构:学校 .教育局  4.软件工程师:学生成绩录入系统软件系统开发团队 [必做 2] 如果让你改进已有的成绩录入系统,请利用 NABCD 分析框架,开展竞争需求分析(表格形式) 竞争需求分析:   内容 N(Need需求) 1.验证码要不区分大小写输入 2.设置