学习java随堂练习-20220617

2023-11-15

目录

今天是学习Java的第十四天
1道练习题

第1题

题目:

请添加图片描述

运行结果:

请添加图片描述

代码如下:

/**
 * (1)	Student:描述学生类
①	属性:学号,姓名,性别,电话
②	方法:显示详细信息

 * */
public class Student {
	private String no;
	private String name;
	private String sex;
	private String phone;

	public String getNo() {
		return no;
	}

	public void setNo(String no) {
		this.no = no;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

}

/**
 * (2)	StudentDao:操作学生信息的类,负责学生信息的管理
①	属性:Student[] 存储所有学生信息
②	方法:
1)	void init() :初始化两个学生信息
2)	Student[] getStudents():获取所有的学生
3)	Student searchByNo(String no) :根据学号查询学生信息
4)	boolean add(Student stu):添加学生
5)	boolean del(String no):删除学生
6)	boolean updatePhone(String no,String phone):根据学号修改学生电话号码

 */
public class StudentDao {
	private Student[] stus = new Student[20];// 存储所有学生信息

	public void init() {// 初始化两个学生信息
		Student s = new Student();
		s.setName("刘备");
		s.setNo("Y001");
		s.setPhone("13812345678");
		s.setSex("男");
		stus[0] = s;

		Student s2 = new Student();
		s2.setName("关羽");
		s2.setNo("Y002");
		s2.setPhone("13212345678");
		s2.setSex("男");
		stus[1] = s2;
	}

	public Student[] getStudents() {// 获取所有学生
		return stus;
	}

	public Student searchByNo(String no) {// 根据学号查询学生信息
		for (int i = 0; i < stus.length; i++) {
			if (stus[i] != null && no.equals(stus[i].getNo())) {
				return stus[i];
			}
		}
		return null;
	}

	public boolean add(Student stu) {// 添加学生
		boolean flag = false;
		for (int i = 0; i < stus.length; i++) {
			if (stus[i] == null) {
				stus[i] = stu;
				flag = true;
				break;
			}
		}
		return flag;
	}

	public boolean del(String no) {// 删除学生
		boolean flag = false;
		for (int i = 0; i < stus.length; i++) {
			if (stus[i] != null && no.equals(stus[i].getNo())) {
				stus[i] = null;
				flag = true;
				break;
			}
		}
		return flag;
	}

	public boolean updatePhone(String no, String phone) {// 根据学号修改学生电话号码
		boolean flag = false;
		for (int i = 0; i < stus.length; i++) {
			if (stus[i] != null && no.equals(stus[i].getNo())) {
				stus[i].setPhone(phone);
				flag = true;
				break;
			}
		}
		return flag;
	}

}

/**
 * (3)	StudentUtil:工具类,负责接收用户的输入,给用户展示结果
①	属性:StudentDao
②	方法:
1)	void init():初始化数据
2)	void menu():菜单
3)	void displayAll():查询所有学生信息
4)	void searchByNo():根据学生学号查询学生
5)	void add():添加学生
6)	void del()删除学生
7)	void updatePhone()修改学生电话号码

 * */
public class StudentUtil {
	private StudentDao dao;

	public void init() {// 初始化数据
		dao = new StudentDao();
		dao.init();
	}

	public void menu() {// 菜单
		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、退出");
		System.out.println("*****************************");
	}

	public void displayAll() {// 查询所有学生信息
		for (int i = 0; i < dao.getStudents().length; i++) {
			if (dao.getStudents()[i] != null) {
				System.out.println("姓名" + (dao.getStudents()[i]).getName());
				System.out.println("学号" + (dao.getStudents()[i]).getNo());
				System.out.println("电话" + (dao.getStudents()[i]).getPhone());
				System.out.println("性别" + (dao.getStudents()[i]).getSex() + "\n");
			}
		}
	}

	public void searchByNo(String no) {// 根据学生学号查询学生
		if (dao.searchByNo(no) != null) {
			System.out.println("找到了,此学生的信息如下:");
			System.out.println("姓名:" + dao.searchByNo(no).getName());
			System.out.println("学号:" + dao.searchByNo(no).getNo());
			System.out.println("电话:" + dao.searchByNo(no).getPhone());
			System.out.println("性别:" + dao.searchByNo(no).getSex());
		} else {
			System.out.println("没找到");
		}
	}

	public void add(Student stu) {// 添加学生
		if (dao.add(stu)) {
			System.out.println("添加学生成功");
		} else {
			System.out.println("添加学生失败");
		}

	}

	public void del(String no) {// 删除学生
		if (dao.del(no)) {
			System.out.println("删除学生成功");
		} else {
			System.out.println("删除学生失败");
		}
	}

	public void updatePhone(String no, String phone) {// 修改学生电话号码
		if (dao.updatePhone(no, phone)) {
			System.out.println("修改学生电话号码成功");
		} else {
			System.out.println("修改学生电话号码失败");
		}

	}
}

/**
 * (4)	Test:测试类,提供程序入口
①	main方法

 * */
import java.util.Scanner;

public class StudentTest {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		StudentUtil a = new StudentUtil();
		Student b;
		a.init();// 初始化
		while (true) {
			a.menu();// 打印菜单
			System.out.print("请输入你的选择:");

			int select = input.nextInt();
			switch (select) {
			case 1:// 1、查询所有学生信息
				a.displayAll();// 1、查询所有学生信息
				System.out.println("--------------");
				break;
			case 2:// 2、根据学生学号查询学生
				System.out.print("请输入查询的学号:");
				a.searchByNo(input.next());// 根据学生学号查询学生
				System.out.println("--------------");
				break;
			case 3:// 3、添加学生
				b = new Student();
				System.out.print("请输入学生姓名:");
				b.setName(input.next());
				System.out.print("请输入学生学号:");
				b.setNo(input.next());
				System.out.print("请输入学生电话:");
				b.setPhone(input.next());
				System.out.print("请输入学生性别:");
				b.setSex(input.next());
				a.add(b);
				break;
			case 4:// 4、删除学生
				System.out.print("请输入要删除的学生学号:");
				a.del(input.next());
				break;
			case 5:// 5、修改学生电话号码
				System.out.print("请输入要修改的学生的学号:");
				String enter1 = input.next();
				System.out.println("请输入要修改后的电话号码:");
				String enter2 = input.next();
				a.updatePhone(enter1, enter2);
				break;
			case 6:
				System.out.println("退出成功。");
				System.exit(0);
			default:
				System.out.println("输入有误,请重新输入。");
				break;
			}
		}

	}

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习java随堂练习-20220617 的相关文章

随机推荐

  • 用go实现cors中间件

    目录 一 概述 二 简单请求和预检请求 简单请求 预检请求 三 使用go的gin框架实现cors配置 1 安装 2 函数 一 概述 CORS Cross Origin Resource Sharing 是一种浏览器安全机制 用于控制在Web
  • ROS通信机制之动作(Action)服务的实践

    1 动作概述 讲完了 服务 之后 接下来就是通信的第三种机制 动作 在上节我们知道服务的应用场景是需要在有限时间内完成 而对于一些比较复杂的任务 需要耗时比较长 甚至是不确定时间的时候 就需要用到动作这种通信方式了 在原理上 动作使用 话题
  • 别不把自己当回事

    人活着要有尊严 哪怕现在的社会有多么的现实 没有尊严的人生是枯燥乏味的 连你自己都不把自己当回事 谁还会把你当回事 路是自己走的 事情是自己做的 不要别人的施舍 也会走到自己的成功 别什么事都依赖别人 别总是想从别人那里得到什么 因为别人的
  • Visio绘图中遇到的一些问题及相应解决方法(持续更新)

    1 为什么按下方向键后 选中的目标没有移动 而绘图界面却在移动 解决方法 检查键盘的SL Scroll Lock 键是否被按下 键盘上对应的指示灯是否被点亮 SL键被激活 按下方向键等同于鼠标拖动绘图区右侧或下方的滚动条 2 Visio在编
  • Lua :操作符很简单,算数、关系、逻辑和其他

    目录 1 算数运算符 2 关系运算符 3 逻辑运算符 4 其他运算符 Lua中操作符可以划分为三种 算数运算符 关系运算符 逻辑运算符和其他运算符 1 算数运算符 算数运算符 加法 减法 乘法 除法 取余 乘幂 负号 do local a
  • 根据字符串,对数据进行排序

    后端返回数据 const data mc 苹果 num 6 mc 香蕉 num 31 mc 樱桃 num 1 mc 橘子 num 22 mc 橙子 num 2 排序 const sortOrder 橙子 樱桃 苹果 香蕉 橘子 data s
  • Python字典的使用

    1 有如下学生的成绩信息 s1 姓名 乔峰 班级 1班 数学 88 语文 87 英语 90 s2 姓名 段誉 班级 2班 数学 98 语文 77 英语 95 s3 姓名 阿朱 班级 1班 数学 78 语文 83 英语 80 s4 姓名 阿紫
  • 二分查找(BinarySearch)

    尽管二分查找的基本思想相对简单 但细节可以令人难以招架 高德纳 文章目录 一 常见问题 整数溢出问题 区间选取问题 二 完整例子 一 常见问题 当年 乔恩 本特利将二分搜索问题布置给专业编程课的学生时 百分之90的学生在花费数小时后还是无法
  • yum install XX 失败: Error Downloading Packages

    yum clean all 清除缓存目录下的软件包及旧的headers yum list 重新列出所有已经安装和可以安装的软件包 然后在执行yum install xx 就行了
  • 关于Springboot引入Jython调用python的一个相对全面的解决方案

    最近在研究Jython调用python 总结一下可行方案 引入jar包
  • 西门子中压交流变频器——GL150介绍分享

    1 西门子中压交流变频器 GL150 GL150 LCI变频器 负载换向逆变器 可以让SINAMICS驱动器系统实现更高额定功率 GL150设计做可变转矩和恒定转矩特性的单电机应用的驱动器变频器 这种变频器有空冷和水冷设计型号 更高额定功率
  • Ajax在返回集合后,数据到复杂表格的应用

    通常 我们无论是用普通Ajax机制还是利用框架 在处理返回的问题上 都会遇到这样的问题 如 我们要将一个List
  • Cobbler 登录web界面提示报错“Internal Server Error”

    第一部分直接转载摘录JasonMingHao的博客 Cobbler 登录web界面提示报错 Internal Server Error 来说明问题哈 在访问cobbler web界面到时候出现以下提示 ssl的报错日志如下 root Cob
  • buck-boost电路计算

    以下内容来自唐老师讲电赛 各大公司的计算器 链接 https pan baidu com s 1dhKB G3no0AHLTt QwjtUg 提取码 5kah
  • 凸优化学习(七)——SVM“1-范数”的软边界

    注意 本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目 https github com Kivy CN Stanford CS 229 CN 中的凸优化部分的内容进行翻译学习 3 SVM L 1 L 1 L1 范数的软边界 为了看
  • AlertDialog,当点击按钮时,能够根据界面上输入的数据,弹出对话框,显示界面中输入的相关信息

    我的代码采用分离监听器的模式 即不在 setOnclickListener 中 new OnClickListener public class MainActivity extends Activity implements View O
  • 【Android】APT与JavaPoet学习与实战

    PS 本文讲解的APT全称为Annotation Processing Tool 而非是Android Performance Tuner 这两种工具简称皆为APT 前者是 注释处理工具 后者是 Android性能调试器 本文分别使用Jav
  • 使用--link实现容器互联,很简单

    大家好 今天分享docker 使用 link实现容器互联 运行镜像 root localhost docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES root lo
  • 基于STM32MP157调试MIPI-DSI屏幕

    平台 STM32MP157 屏幕 mipi dsi接口 1024x600 内核版本 linux5 4 本人是第一次调试mipi屏 在157这个平台上遇到的问题有一点多 接下来简单的描述下我的调试经验 一 先配置一下设备树DTB ltdc p
  • 学习java随堂练习-20220617

    目录 第1题 今天是学习Java的第十四天 1道练习题 第1题 题目 运行结果 代码如下 1 Student 描述学生类 属性 学号 姓名 性别 电话 方法 显示详细信息 public class Student private Strin