首页 > 其他分享 >每日打卡

每日打卡

时间:2023-03-04 21:55:05浏览次数:35  
标签:String 每日 System name println 打卡 public out

import java.util.ArrayList;
import java.util.Scanner;

public class test {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
kaishi();
}
public static void kaishi(){
jiekou jk = new chuli();
while(true){
System.out.println("===========学生管理系统==============");
System.out.println("\t1,添加新学生信息");
System.out.println("\t2,删除学生信息");
System.out.println("\t3,修改学生信息");
System.out.println("\t4,查询学生信息");
System.out.println("\t5,输出所有学生信息");
System.out.println("\t6,退出系统");
int key = sc.nextInt();
switch(key){
case 1:
if (jk.add()) System.out.println("添加成功");
else System.out.println("添加失败");
break;
case 2:
if(jk.rmove()) System.out.println("删除成功");
else System.out.println("删除失败");
break;
case 3:
if(jk.updata()) System.out.println("修改成功");
else System.out.println("修改失败");
break;
case 4:
jk.show();
break;
case 5:
jk.print();
break;
case 6:
System.out.println("退出成功");
return;
default:
System.out.println("输入有误");
}
}
}
}

interface jiekou{
boolean add(); //添加
boolean rmove(); //删除
boolean updata(); //修改
void show(); //查询
void print(); //输出
}
class chuli implements jiekou{
Scanner sc = new Scanner(System.in);
public ArrayList<Student> arr = new ArrayList<>();
//构造方法
public chuli(){
arr.add(new Student("aierken","nan",18,"19199467744" ,"xinjiang"));
arr.add(new Student("nijia","nan",18,"19199466445" ,"shandong"));
arr.add(new Student("aier","nv",25,"19199557744" ,"beijing"));
arr.add(new Student("ken","nv",36,"19199467744" ,"xinjiang"));
arr.add(new Student("aier","nv",25,"19199557744" ,"beijing"));
}
//添加
@Override
public boolean add(){
try{
System.out.println("-------添加学生信息--------");
System.out.print("\t请输入学生姓名:");
String name = sc.next();
System.out.print("\t请输入学生性别:");
String bl = sc.next();
System.out.print("\t请输入学生年龄:");
int age = sc.nextInt();
System.out.print("\t请输入学生电话:");
String phone = sc.next();
System.out.print("\t请输入学生地址:");
String address = sc.next();
arr.add(new Student(name,bl,age,phone,address));
return true;
}catch(Exception e){
sc.next();
System.out.println("输入格式有误");
}
return false;
}
//删除
@Override
public boolean rmove(){
System.out.println("-------删除学生信息--------");
System.out.print("\t请输入要删除的学生姓名:");
String name = sc.next();
Student[] stunum = chazhao(name);
int num = stunum.length;
if(num!=0){
if (num == 1){
arr.remove(stunum[0]);
return true;
}
System.out.println("您要删除哪一个?(请输入序号)");
int key = sc.nextInt();
if(key<=num){
arr.remove(stunum[key-1]);
return true;
}
System.out.println("输入有误");
}
return false;
}
//修改 查询要修改的学生
@Override
public boolean updata() {
System.out.println("-------修改学生信息--------");
System.out.print("\t请输入要修改的学生姓名:");
String name = sc.next();
Student[] stunum = chazhao(name);
int num = stunum.length;
if(num!=0){
if (num == 1){
arr.add(xiugai(stunum[0]));
arr.remove(stunum[0]);
return true;
}
System.out.println("您要修改哪一个?(请输入序号)");
int key = sc.nextInt();
if(key<=num){
arr.add(xiugai(stunum[0]));
arr.remove(stunum[0]);
return true;
}
System.out.println("输入有误");
}
return false;
}
//查询
@Override
public void show(){
System.out.println("---------查询学生信息--------");
System.out.print("请输入要查询的学生姓名:");
String name = sc.next();
chazhao(name);
}
//输出所有
@Override
public void print(){
System.out.println("----------输出所有学生信息----------");
for (Student stu:arr){
System.out.println(stu.toString());
}
}

//修改方法 对值进行修改并返回
public Student xiugai(Student stu){
System.out.println("请输入修改选项:");
System.out.println("\t1,姓名:"+"\n"+
"\t2,年龄:"+"\n"+
"\t3,电话:"+"\n"+
"\t4,地址:");
int key = sc.nextInt();
switch(key){
case 1:
System.out.print("请输入新名:");
stu.setName(sc.next());
break;
case 2:
System.out.print("请输入年龄:");
stu.setAge(sc.nextInt());
break;
case 3:
System.out.print("请输入电话:");
stu.setPhone(sc.next());
break;
case 4:
System.out.print("请输入地址:");
stu.setAddress(sc.next());
break;
default:
System.out.println("输入有误");
}
return stu;
}
//查找方法 查找给定的学生信息并返回
public Student[] chazhao(String name){
Student[] stunum = new Student[arr.size()];
int num = 0;
for (Student stu : arr){
if(name.equals(stu.getName())){
stunum[num] = stu;
num++;
}
}
System.out.println("共找到"+num+"个"+name);
System.out.println();
Student[] students = new Student[num];
for(int i=0;i<num;i++){
System.out.println((i+1)+","+stunum[i].toString());
students[i] = stunum[i];
}
return students;
}
}

class Student{
private String name; //姓名
final String bl; //性别
private int age; //年龄
private String phone; //电话
private String address; //地址
public Student(String name,String bl,int age,String phone,String address){
this.name = name;
this.bl = bl;
this.age = age;
this.phone = phone;
this.address = address;
}

@Override
public String toString() {
return "姓名=" + name + "\t" +
", 性别=" + bl +
", 年龄=" + age +
", 电话=" + phone + "\t" +
", 地址=" + address + "\t" ;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/*public String isBl() {
return bl;
}
public void setBl(String bl) {
this.bl = bl;
}*/
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
/*public String getPhone() {
return phone;
}*/
public void setPhone(String phone) {
this.phone = phone;
}
/*public String getAddress() {
return address;
}*/
public void setAddress(String address) {
this.address = address;
}
}

 

 

标签:String,每日,System,name,println,打卡,public,out
From: https://www.cnblogs.com/yunbianshangdadun/p/17179283.html

相关文章

  • 每日总结
    今天开发了记事本plus版本,可以实现增删改查,并且联合listview控件去显示,学到到listview需要适配去去解析页面熟悉了页面跳转的时候消息传递的妙处,也了解到许多未曾用到的函......
  • 3.5每日总结
    标准数据类型在内存中存储的数据可以有多种类型。例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。Python定义了一些标准类型,用于存储各种类型的数据。Py......
  • day04 打卡24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 142.环形链表II
    day04打卡24.两两交换链表中的节点19.删除链表的倒数第N个节点142.环形链表II24.两两交换链表中的节点24题目链接1.第一次想的思路:使用count记录当前是第几个节点,......
  • Android学习-每日打卡APP-实现每日打卡
    继续写我的打卡APP-完成了每日打卡的功能,其实还是比较简单,因为和注册一样都是插入的过程同时还能实现自动计数的功能,把坚持天数自动计算出来,打卡后插入数据库效果,可以看......
  • Android-每日打卡APP-实现登录功能
    每日打卡APP新的进展-实现登录功能-昨天已经把注册功能实现了,今天也很快把登录功能做了出来,然后接着着手做其他功能,打卡功能写在下一篇博客能够实现登录和注册,注册相关的......
  • 每日算法 230303
    每日算法230303题目1487.保证文件名唯一给你一个长度为n的字符串数组names。你将会在文件系统中创建n个文件夹:在第i分钟,新建名为names[i]的文件夹。由于两......
  • 每日打卡
    MySQL表的增删改查(基础)1.新增(Create)1.1单行数据+全列插入1.2多行数据+指定列2.查询(Retrieve)2.1全列查询2.2指定列查询2.3查询字段为表达式2.4别名2.5去重......
  • Android学习-每日打卡APP-进展
    今天课比较多,但是还是要抽出时间写安卓,又有了一些小进展,将数据库的部分代码写了出来可以参考一下packagecom.example.clockappliction;importandroid.content.Conte......
  • 2022.3.3每日总结
    HashSet基于HashMap来实现的,是一个不允许有重复元素的集合。HashSet允许有null值。HashSet是无序的,即不会记录插入的顺序。HashSet不是线程安全的,如果多个线程......
  • 每日总结 3.3
    今天学习了数据的添加,和本地日期的获取。<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"......