当前位置: 首页 > news >正文

Java基础知识实际应用(学生信息管理系统、猜拳小游戏、打印日历)

一、Java学生信息管理系统

这个系统包含了添加、修改、删除、查询和显示所有学生信息等功能。您可以在此基础上进行修改和完善,以适应您的需求。

import java.util.Scanner;public class StudentManagementSystem {private static Scanner scanner = new Scanner(System.in);private static int MAX_STUDENT_NUMBER = 100;private static Student[] students = new Student[MAX_STUDENT_NUMBER];private static int studentNumber = 0;public static void main(String[] args) {while (true) {System.out.println("***********************************************");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("*          0. 退出系统                          *");System.out.println("***********************************************");System.out.print("请选择操作:");int choice = scanner.nextInt();switch (choice) {case 1:addStudent();break;case 2:modifyStudent();break;case 3:deleteStudent();break;case 4:queryStudent();break;case 5:displayAllStudents();break;case 0:System.exit(0);default:System.out.println("输入错误,请重新输入!");}}}private static void addStudent() {if (studentNumber >= MAX_STUDENT_NUMBER) {System.out.println("学生数量已达到最大值!");return;}scanner.nextLine(); // 消耗掉换行符System.out.print("请输入学生姓名:");String name = scanner.nextLine();System.out.print("请输入学生年龄:");int age = scanner.nextInt();System.out.print("请输入学生性别(0表示女性,1表示男性):");int gender = scanner.nextInt();System.out.print("请输入学生班级:");String className = scanner.next();Student student = new Student(name, age, gender, className);students[studentNumber++] = student;System.out.println("添加成功!");}private static void modifyStudent() {System.out.print("请输入要修改的学生姓名:");String name = scanner.next();for (int i = 0; i < studentNumber; i++) {if (students[i].getName().equals(name)) {System.out.print("请输入学生新的年龄:");int age = scanner.nextInt();System.out.print("请输入学生新的性别(0表示女性,1表示男性):");int gender = scanner.nextInt();System.out.print("请输入学生新的班级:");String className = scanner.next();students[i].setAge(age);students[i].setGender(gender);students[i].setClassName(className);System.out.println("修改成功!");return;}}System.out.println("没有找到该学生信息!");}private static void deleteStudent() {System.out.print("请输入要删除的学生姓名:");String name = scanner.next();int i = 0;for (; i < studentNumber; i++) {if (students[i].getName().equals(name)) {break;}}if (i == studentNumber) {System.out.println("没有找到该学生信息!");return;}for (; i < studentNumber - 1; i++) {students[i] = students[i + 1];}students[--studentNumber] = null;System.out.println("删除成功!");}private static void queryStudent() {System.out.print("请输入要查询的学生姓名:");String name = scanner.next();for (int i = 0; i < studentNumber; i++) {if (students[i].getName().equals(name)) {System.out.println(students[i]);return;}}System.out.println("没有找到该学生信息!");}private static void displayAllStudents() {for (int i = 0; i < studentNumber; i++) {System.out.println(students[i]);}}private static class Student {private String name;private int age;private int gender;private String className;public Student(String name, int age,int gender, String className) {
this.name = name;
this.age = age;
this.gender = gender;
this.className = className;
}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getGender() {return gender;}public void setGender(int gender) {this.gender = gender;}public String getClassName() {return className;}public void setClassName(String className) {this.className = className;}@Overridepublic String toString() {String genderStr = gender == 0 ? "女" : "男";return "姓名:" + name + "  年龄:" + age + "  性别:" + genderStr + "  班级:" + className;}
}

二、Java实现猜拳小游戏

以下代码是一个猜拳小游戏的实现,其中包含了用户输入、随机数生成、逻辑判断和输出结果等功能。首先让用户输入名字,然后每轮循环中用户输入出拳手势,根据输入的数字1、2、3分别代表石头、剪刀、布;同时,系统也会产生一个随机数表示电脑出拳手势。判断用户和电脑的胜负关系,并输出结果。如果输入的数字为0则退出游戏。 MyMath是一个辅助类,用来生成1-3之间的随机整数。

import java.util.Random;
import java.util.Scanner;public class GuessGame
{String userName;Scanner reader=new Scanner(System.in);public GuessGame(){System.out.println("------欢迎来到猜拳小游戏------");System.out.println("请输入你的名字:");this.userName= reader.next();}public void startGame(){System.out.println("欢迎你,"+userName);while(true){System.out.println("请输入1-石头,2-剪刀,3-布,0-退出");int u=reader.nextInt();if(u>=1&&u<=3){MyMath m=new MyMath();// 产生一个随机数int c=m.getRandom();judge(u,c);// 判断胜负}else if(u==0){System.out.println("退出游戏,欢迎下次再玩");break;}else{System.out.println("输入有误,请再次输入");}}}public void judge(int u,int c){if(u==1&&c==2||u==2&&c==3||u==3&&c==1){System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",你赢了!!!");}else if(u==1&&c==3||u==2&&c==1||u==3&&c==2){System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",你输了!!!");}else{System.out.println("你出的是"+getState(u)+",电脑出的是"+getState(c)+",平局!!!");}}public String getState(int u){String state="";// 将类型与编号对应switch(u){case 1:state="石头";break;case 2:state="剪刀";break;case 3:state="布";break;}return state;}
}
class MyMath
{public int getRandom(){Random rd=new Random();int number = rd.nextInt(3) + 1;//生成1-3的随机数return number;}
}

请输入1-石头,2-剪刀,3-布,0-退出
1
你出的是石头,电脑出的是石头,平局!!!
请输入1-石头,2-剪刀,3-布,0-退出
1
你出的是石头,电脑出的是石头,平局!!!
请输入1-石头,2-剪刀,3-布,0-退出
1
你出的是石头,电脑出的是石头,平局!!!
请输入1-石头,2-剪刀,3-布,0-退出
1
你出的是石头,电脑出的是石头,平局!!!
请输入1-石头,2-剪刀,3-布,0-退出
1
你出的是石头,电脑出的是布,你输了!!!
请输入1-石头,2-剪刀,3-布,0-退出
0
退出游戏,欢迎下次再玩

三、Java打印日历

在这里插入图片描述

package edu.java.homework.calendar;import java.util.Calendar;
import java.util.GregorianCalendar;public class MyCalendar
{private final int year;private final int month;public MyCalendar(int year,int month)//构造函数{this.year=year;this.month=month;}public void printCalendar(){System.out.println("日\t一\t二\t三\t四\t五\t六");int week=getWeekDay(year,month,1);//得到星期数for(int i=1;i<week;i++){System.out.print("\t");}int monthDays=getMonthDays(year,month);//得到该月天数for(int i=1;i<=monthDays;i++){if(getWeekDay(year,month,i)==7){System.out.print(i+"\n");}elseSystem.out.print(i+"\t");}System.out.println();}public int getWeekDay(int year,int month,int day){int week=-1;// 使用Calendar类Calendar calendar=new GregorianCalendar(year,month-1,day);week=calendar.get(Calendar.DAY_OF_WEEK);return week;}public int getMonthDays(int year,int month){int monthDays=0;if(month==4||month==6||month==9||month==11){monthDays=30;}else if(month==2) // 2月需要判断是否为闰年{if(year%4==0&&year%100!=0||year%400==0){monthDays=29;}elsemonthDays=28;}elsemonthDays=31;return monthDays;}
}
package edu.java.homework.chapter;import edu.java.homework.calendar.MyCalendar;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Chapter1
{Scanner in=new Scanner(System.in);public void chapterMenu(){while(true){System.out.println("请选择作业序号:");System.out.println("1--输出日历;2--人事管理系统;0--退出");int option;while(true) // 检验输入的是否为数字,不是则需重新输入{try{option = in.nextInt();break;}catch(InputMismatchException e){System.out.println("输入类型不匹配,请重新输入");in=new Scanner(System.in);}}if(option==1){work1();}else if(option==2){work2();}else if(option==0){break;}}}private void work1(){System.out.println("1、输出日历,格式如下:");MyCalendar myCalendar=new MyCalendar(2022,9);myCalendar.printCalendar();}private void work2(){System.out.println("2、输出如下:");System.out.println("************************");System.out.println("     人事管理系统");System.out.println("     1、添加用户");System.out.println("     2、查询用户");System.out.println("     3、退出系统");}
}
http://www.lryc.cn/news/127406.html

相关文章:

  • Git:在本地电脑上如何使用git?
  • 卷和分区的关系
  • Linux下在qtcreator中创建qt程序
  • 快递再多也不怕!你的顺丰快递用上5G“神器”
  • 微信小程序:模板使用
  • AUTOSAR NvM Block的三种类型
  • Vue+ElementUI实现选择指定行导出Excel
  • SNMP简单介绍
  • 使用python对图像加噪声
  • 以 Java NIO 的角度理解 Netty
  • Maven自定义脚手架(多module模块)+自定义参数
  • 爬虫逆向实战(七)--猿人学第十六题
  • Qt 杂项(Qwt、样式等)
  • Python程序设计——列表
  • NPDP含金量高吗?难考吗?
  • windows pip安装出现 error: Microsoft Visual C++ 14.0 is required
  • 威胁分析风险评估(TARA)影响和攻击可行性评估参考
  • 【教程】H5匿名信源码下载一封来信系统安装流程搭建教程
  • PyTorch训练简单的生成对抗网络GAN
  • django实现文件上传
  • Java地图专题课 基本API BMapGLLib 地图找房案例 MongoDB
  • vue实现可缩放拖拽盒子(亲测可用)
  • python一次性导出项目用到的依赖
  • 移动端网页中的前端视频技术探索
  • 题解:ABC277C - Ladder Takahashi
  • 7.11 Java方法重写
  • Android Stodio编译JNI项目,Cmake出错:Detecting C compiler ABI info - failed
  • 6.2 Spring Boot整合MyBatis
  • 在CentOS 7上使用kubeadm部署Kubernetes集群
  • 这6个免费设计素材网站,设计师都在用,马住