一、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;
}
@Override
public 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");
}else
System.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;
}else
monthDays=28;
}else
monthDays=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、退出系统");
}
}