人工智能时代Java项目实战 课件 3-项目三-实现类的封装_第1页
人工智能时代Java项目实战 课件 3-项目三-实现类的封装_第2页
人工智能时代Java项目实战 课件 3-项目三-实现类的封装_第3页
人工智能时代Java项目实战 课件 3-项目三-实现类的封装_第4页
人工智能时代Java项目实战 课件 3-项目三-实现类的封装_第5页
已阅读5页,还剩103页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能时代Java项目实战项目三实现类的封装·实现家庭用户表到家庭用户类的转换·实现家庭成员表到家庭成员类的转换·实现家庭收入表到家庭收入类的转换·实现家庭支出表到家庭支出类的转换·实现家庭收支表到家庭收支类的转换·实现主菜单类和主类的封装刘丹

任务描述上海御恒信息科技公司接到一家互联网公司的项目订单,要求先实现家庭用户表到家庭用户类的转换。公司刚招聘了一名程序员小张,软件开发部经理要求他尽快熟悉Java类的封装技术、Java中的实例方法,并能运用主类、主菜单类及子菜单类来搭建项目主体结构,小张按照经理的要求开始做以下的任务分析。任务一实现家庭用户表到家庭用户类的转换实现家庭用户表到家庭用户类的转换首先要在Access中新建家庭用户表Familyuser,其次将Familyuser家庭用户表转换为FamilyUser类,最后通过任务六的主类FamilyMainProg、主菜单类FamilyMainMenu以及子菜单类FamilyMenuUser实现最终的界面显示和算法实现。

任务分析任务一实现家庭用户表到家庭用户类的转换第一步:在Access中新建家庭用户表Familyuser,

列名分别为u_id,u_name,u_password,

第一行内容为u0001,admin,123abc。

任务实施任务一实现家庭用户表到家庭用户类的转换第二步:将Familyuser家庭用户表转换为FamilyUser类,

列名转换为实例变量,

第一行的内容通过实例方法的实参传递给实例变量,

再通过实例方法显示出来。

任务实施任务一实现家庭用户表到家庭用户类的转换第二步:

任务实施任务一实现家庭用户表到家庭用户类的转换第二步:

任务实施任务一实现家庭用户表到家庭用户类的转换

任务实施任务一实现家庭用户表到家庭用户类的转换第三步:在调试后显示的主菜单中选择第1项用户登录管理,显示子菜单的结果。1、3个实例变量u_id,u_name,u_password对应了表格中的3列。2、用3个实例方法分别为3个实例变量u_id,u_name,u_password初始化(通过形参m,i,o)3、将第一行的内容(u0001,admin,123abc)作为实参传递给形参(m,i,o)4、judgeNumber()方法通过循环遍历u_password中的每一个字符,判断这些字符是否是数字。5、outAllData()方法分别调用putUid()、putUname()、putUpwd()方法来实现3个实例变量内

容的输出。

任务小结任务一实现家庭用户表到家庭用户类的转换1、在Java中,方法是一种重用的代码块,它执行特定的操作并返回一个结果。方法的主要作用是提高代码的可读性和可维护性,并允许我们重复使用相同的代码逻辑。一个Java方法的定义包含以下部分:(1)方法名:这是方法的唯一标识符,用于在程序中调用该方法。(2)返回类型:这指定了方法返回的数据类型。如果方法不返回任何值,则使用关键字`void`。(3)参数列表:这是可选的,并且用于接收传递给方法的输入数据。参数由参数类型、参数名称和可选的默认值组成。

任务拓展任务一实现家庭用户表到家庭用户类的转换(4)方法体:这是方法实际执行的代码块,用大括号`{}`包围。

下面是一个简单的Java方法的示例:

在这个例子中,`printHello`是一个方法,它没有返回类型(因为它是`void`)并且没有参数。当我们调用这个方法时,它会在控制台上打印出"Hello,World!"。

任务拓展任务一实现家庭用户表到家庭用户类的转换2、`toCharArray()`是Java中`String`类的一个方法。它的主要作用是将字符串转换为一个字符数组。具体来说,`toCharArray()`方法将字符串中的每个字符放入一个新的字符数组中,并返回这个数组。这样,我们可以方便地对字符串中的每个字符进行操作,而不需要先遍历整个字符串。示例:

上述代码首先将字符串"Hello"转换为一个字符数组,然后使用增强的for循环遍历数组中的每个字符,并打印出来。

任务拓展任务一实现家庭用户表到家庭用户类的转换1、一张二维表转换成Java类的要点是什么?

任务思考任务一实现家庭用户表到家庭用户类的转换上海御恒信息科技公司接到一家互联网公司的项目订单,要求实现家庭成员表到家庭成员类的转换。公司刚招聘了一名程序员小张,软件开发部经理要求他尽快熟悉Java类的封装技术、Java中的构造方法、对话框类,并能运用主类、主菜单类及子菜单类来搭建项目主体结构,小张按照经理的要求开始做以下的任务分析。

任务描述任务二实现家庭成员表到家庭成员类的转换实现家庭成员表到家庭成员类的转换首先要在Access中新建家庭成员表Familymember,其次将Familymember家庭成员表转换为FamilyMember类,最后通过任务六的主类FamilyMainProg、主菜单类FamilyMainMenu以及子菜单类FamilyMenuMember实现最终的界面显示和算法。

任务分析任务二实现家庭成员表到家庭成员类的转换

任务实施第一步:在Access中新建家庭成员表Familymember,

列名分别为f_id,f_name,f_kind,f_mobile,

第一行内容为f001,张三,workmate任务二实现家庭成员表到家庭成员类的转换第二步:将Familymember家庭成员表转换为FamilyMember类,

列名转换为实例变量,

第一行的内容通过JOptionPane类的对话框输入方法

showInputDialog()传递给实例变量,通过对话框输出

方法showMessageDialog()显示出来。

任务实施任务二实现家庭成员表到家庭成员类的转换第二步:

任务实施任务二实现家庭成员表到家庭成员类的转换第二步:

任务实施任务二实现家庭成员表到家庭成员类的转换第二步:

任务实施任务二实现家庭成员表到家庭成员类的转换

任务实施第三步:在主类中调试后的结果。任务二实现家庭成员表到家庭成员类的转换家庭管理系统主菜单

任务实施第三步:在主类中调试后的结果。任务二实现家庭成员表到家庭成员类的转换成员管理子菜单

任务实施第三步:在主类中调试后的结果。任务二实现家庭成员表到家庭成员类的转换对话框输入界面

任务实施第三步:在主类中调试后的结果。任务二实现家庭成员表到家庭成员类的转换家庭成员信息输出对话框1、JOptionPane.showInputDialog()是对话框输入方法。2、JOptionPane.showMessageDialog()是对话框输出方法。3、JOptionPane.QUESTION_MESSAGE表示问号图标。4、JOptionPane.INFORMATION_MESSAGE表示感叹号图标。

任务小结任务二实现家庭成员表到家庭成员类的转换1、JOptionPane是Java的Swing图形用户界面(GUI)工具包中的一个类,用于创建

简单的对话框,用于显示消息、提问或选项给用户。它可以快速创建标准对话框。2、输出对话框:JOptionPane.showMessageDialog(null,"这是一个信息对话框");3、确认对话框:JOptionPane.showConfirmDialog(null,"确认继续吗?","确认",

JOptionPane.YES_NO_OPTION);4、输入对话框:JOptionPane.showInputDialog("请输入一个值:");5、选项对话框:JOptionPane.showOptionDialog(null,"选个选项","选择",

JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,

newObject[]{"选项1","选项2","选项3"},"默认选项");

任务拓展任务二实现家庭成员表到家庭成员类的转换1、请问有哪四种常用对话框?2、对话框要导入哪个系统包?3、对话框方法一般有四个参数,分别是什么含义?

任务思考任务二实现家庭成员表到家庭成员类的转换

任务描述上海御恒信息科技公司接到一家互联网公司的项目订单,要求先实现家庭收入表到家庭收入类的转换。公司刚招聘了一名程序员小张,软件开发部经理要求他尽快熟悉Java类的封装技术、Java中的键盘输入方法、自动垃圾回收机制进行输出,并能运用主类、主菜单类及子菜单类来搭建项目主体结构,小张按照经理的要求开始做以下的任务分析。任务三实现家庭收入表到家庭收入类的转换实现家庭收入表到家庭收入类的转换首先要在Access中新建家庭收入表Familyin,其次将Familyin家庭收入表转换为FamilyIn类,最后通过任务六的主类FamilyMainProg、主菜单类FamilyMainMenu以及子菜单类FamilyMenuIn实现最终的界面显示和算法。

任务分析任务三实现家庭收入表到家庭收入类的转换第一步:在Access中新建家庭收入表Familyin,

列名分别为i_id,i_date,i_name,i_money,i_type,

第一行内容为:1,2024-02-15,2月份工资,3683.58,基本工资。

任务实施任务三实现家庭收入表到家庭收入类的转换第二步:将Familyin家庭用户表转换为FamilyIn类,

列名转换为实例变量,

第一行的内容通过Scanner类的方法传递给

实例变量,输出结果通过Java的自动垃圾

回收机制来实现。

任务实施任务三实现家庭收入表到家庭收入类的转换第二步:

任务实施任务三实现家庭收入表到家庭收入类的转换第二步:

任务实施任务三实现家庭收入表到家庭收入类的转换

任务实施任务三实现家庭收入表到家庭收入类的转换第三步:在调试后显示的主菜单中选择第2项成员收入管理,显示子菜单的结果。1、5个实例变量i_id,i_date,i_name,i_money,i_type对应了表格中的5列。2、用Scanner类的对象调用next()、nextInt()、nextDouble()等方法分别为

5个实例变量i_id,i_date,i_name,i_money,i_type初始化。3、将第一行的内容(1,2024-02-15,2月份工资,3683.58,基本工资)以

键盘输入的形式通过控制台传递给类中的实例变量。4、judgeIncome()方法通过多条件分支结构,判断收入属于哪些群体。5、对象的垃圾回收器通过对象=null;System.gc();这两条语句来调用

finalize()方法,这样可以自动实现5个实例变量内容的输出。

任务小结任务三实现家庭收入表到家庭收入类的转换1、Scanner是Java中的一个类,位于java.util包中,用于从各种输入源(如键盘、文件等)读取原始数据。它提供了一种方便的方式来读取各种基本数据类型(如整数、浮点数和字符串)以及复杂数据类型(如数组和自定义对象)。以下是Scanner类的一些主要特性和用法:(1)创建:创建Scanner对象时,需要提供一个输入源,如System.in(代表标准输入,通常是键盘)或一个文件。例如:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);//从标准输入读取//Scannerscanner=newScanner("myfile.txt");//从文件读取}}

任务拓展任务三实现家庭收入表到家庭收入类的转换(2)读取基本数据类型:使用Scanner的各种方法来读取不同类型的值。例如,nextInt()用于读取整数,nextDouble()用于读取双精度浮点数,nextLine()用于读取整行文本。例如:intage=scanner.nextInt();doubleweight=scanner.nextDouble();Stringname=scanner.nextLine();//注意:nextLine()会读取整行的文本,直到用户按下Enter键(3)关闭:为了释放与输入源关联的资源,应该始终在完成读取后关闭Scanner对象。可以使用scanner.close()方法来关闭它。例如:scanner.close();(4)分隔符:默认情况下,Scanner使用空白字符(如空格、制表符和换行符)作为分隔符。但是,你可以使用useDelimiter()方法来指定自定义的分隔符。(5)正则表达式匹配:Scanner类还提供了一些方法,允许你使用正则表达式来查找和提取字符串中的模式。例如,findInLine()方法允许你查找与正则表达式匹配的下一个子字符串。

任务拓展任务三实现家庭收入表到家庭收入类的转换(6)其他特性:Scanner类还提供了其他一些有用的方法,如hasNext()检查输入源中是否还有下一个值,hasNextInt()检查下一个值是否为整数等。

总的来说,Scanner类是一个非常实用的工具,可用于从各种输入源读取原始数据。在使用时,请注意正确地关闭Scanner对象以释放资源。

在Java中,`finalize()`方法是`java.lang.Object`类中的一个受保护的方法,它在垃圾收集器准备回收对象之前被自动调用。这个方法提供了一种机制,允许程序员定义一些清理代码,这些代码会在对象被垃圾收集器回收之前执行。

任务拓展任务三实现家庭收入表到家庭收入类的转换2、finalize()方法通常用于释放对象占用的资源,例如文件句柄、网络连接等。通过在finalize()方法中执行清理操作,可以确保对象在不再使用时正确地释放资源,避免内存泄漏和资源泄露。需要注意的是,由于垃圾收集器的行为是不可预测的,因此不能依赖finalize()方法来进行重要的清理操作或执行需要尽快完成的逻辑。此外,过度依赖finalize()方法可能会导致性能问题,因为垃圾收集器的工作效率会受到finalize()方法执行时间的影响。为了更好地管理资源,建议使用Java提供的资源管理机制,例如try-with-resources语句,来确保资源的正确释放。在某些情况下,使用java.lang.ref.Cleaner或java.lang.ref.PhantomReference等高级技术可能更为合适。总之,虽然finalize()方法在某些情况下可能仍然有用,但在现代Java编程中,更推荐使用其他资源管理技术来替代过度依赖finalize()方法。

任务拓展任务三实现家庭收入表到家庭收入类的转换3、在Java中,throws关键字用于声明方法可能抛出的异常。IOException是Java中表示输入/输出异常的类,通常在涉及文件、网络或其他输入/输出操作时抛出。当一个方法可能会抛出IOException时,它必须在方法签名中使用throws关键字进行声明。这样做的好处是,调用该方法代码可以知道需要处理或传播该异常。下面是示例:

任务拓展任务三实现家庭收入表到家庭收入类的转换

在这个示例中,readFile方法可能会抛出IOException。如果发生文件未找到的情况,我们捕获FileNotFoundException并抛出一个新的IOException,同时附带上有关错误的信息。注意,如果一个方法声明了抛出异常,那么调用该方法的代码也必须处理或继续抛出该异常。在上面的示例中,如果调用readFile方法的代码没有处理IOException,它可以选择使用try-catch块来捕获异常,或者使用throws关键字将其传递给调用它的方法。

任务拓展任务三实现家庭收入表到家庭收入类的转换1、Java中的Scanner类是如何实现键盘输入的?2、Scanner类的next()、nextInt()、nextDouble()

这三个方法有何区别?3、throwIOException子句的作用是什么?

任务思考任务三实现家庭收入表到家庭收入类的转换上海御恒信息科技公司接到一家互联网公司的项目订单,要求先实现家庭支出表到家庭支出类的转换。公司刚招聘了一名程序员小张,软件开发部经理要求他尽快熟悉Java类的封装技术、Java中通过构造方法实现自动键盘输入、通过实例方法的字符串返回分别调用5个方法实现输出,并能运用主类、主菜单类及子菜单类来搭建项目主体结构,小张按照经理的要求开始做以下的任务分析。任务描述任务四实现家庭支出表到家庭支出类的转换实现家庭支出表到家庭支出类的转换首先要在Access中新建家庭支出表Familyout,其次将Familyout家庭支出表转换为FamilyOut类,最后通过任务六的主类FamilyMainProg、主菜单类FamilyMainMenu以及子菜单类FamilyMenuOut实现最终的界面显示和算法。任务分析任务四实现家庭支出表到家庭支出类的转换任务实施任务四实现家庭支出表到家庭支出类的转换第一步:在Access中新建家庭收入表Familyout,

列名分别为o_id,o_date,o_name,o_money,o_type,

第一行内容为:1,2024-2-28,购买书籍,283.56,学习。任务实施任务四实现家庭支出表到家庭支出类的转换第二步:将Familyout家庭用户表转换为FamilyOut类,

列名转换为实例变量,

第一行的内容通过构造方法实现自动键盘输入,

输出结果通过Java的实例方法调用5个输出方法来实现。任务实施任务四实现家庭支出表到家庭支出类的转换第二步:任务实施任务四实现家庭支出表到家庭支出类的转换第二步:任务实施任务四实现家庭支出表到家庭支出类的转换第二步:任务实施任务四实现家庭支出表到家庭支出类的转换第三步:在调试后显示的主菜单中选择第3项成员支出管理,显示子菜单的结果。任务小结1、5个实例变量o_id,o_date,o_name,o_money,o_type对应了表格中的5列。2、用构造方法分别为5个实例变量o_id,o_date,o_name,o_money,o_type

初始化。3、将第一行的内容(1,2024-2-28,购买书籍,283.56,学习)以键盘输入的形

式通过控制台传递给类中的实例变量。4、judgeOutcome()方法通过多条件分支结构,判断支出属于哪些群体。5、通过带返回值的实例方法outAllData()分别调用5个输出方法来返回一个

字符串,这样可以实现输出所有内容。任务四实现家庭支出表到家庭支出类的转换1、在Java中,存取器(也称为访问器或getter和setter方法)用于访问类的私有成员变量。通过这些方法,外部代码可以获取和设置这些私有变量的值,而不直接访问它们。这有助于保持数据封装性和安全性,例如://获取name变量的值publicStringgetName(){returnname;}//设置name变量的值publicvoidsetName(Stringname){=name;}任务拓展任务四实现家庭支出表到家庭支出类的转换1、如何使用Java的存取器来设置和获取私有实例变量的值?任务思考任务四实现家庭支出表到家庭支出类的转换上海御恒信息科技公司接到一家互联网公司的项目订单,要求先实现家庭收支表到家庭收支类的转换。公司刚招聘了一名程序员小张,软件开发部经理要求他尽快熟悉Java类的封装技术、Java中通过构造方法传参输入、通过存取器输出,并能运用主类、主菜单类及子菜单类来搭建项目主体结构,小张按照经理的要求开始做以下的任务分析。任务描述任务五实现家庭收支表到家庭收支类的转换实现家庭收支表到家庭收支类的转换首先要在Access中新建家庭收支表Familymoney,其次将Familymoney家庭收支表转换为FamilyMoney类,最后通过任务六的主类FamilyMainProg、主菜单类FamilyMainMenu以及子菜单类FamilyMenuMoney实现最终的界面显示和算法。任务分析任务五实现家庭收支表到家庭收支类的转换任务实施任务五实现家庭收支表到家庭收支类的转换第一步:在Access中新建家庭收支表Familymoney,

列名分别为m_id,i_id,o_id,f_id,

第一行内容为:m00001,i00001,o00001,f00001。任务实施任务五实现家庭收支表到家庭收支类的转换第二步:将Familymoney家庭收支表转换为FamilyMoney类,

列名转换为实例变量,

第一行的内容通过构造方法传参实现输入,

输出结果通过Java的存取器来实现。任务实施任务五实现家庭收支表到家庭收支类的转换第二步:任务实施任务五实现家庭收支表到家庭收支类的转换第二步:任务实施任务五实现家庭收支表到家庭收支类的转换第三步:在调试后显示的主菜单中选择第5项成员支出管理,显示子菜单的结果。1、4个实例变量m_id,i_id,o_id,f_id对应了表格中的4列。2、用构造方法中的4个形参分别为4个实例变量m_id,i_id,o_id,f_id初始化。3、将第一行的内容(m00001,i00001,o00001,f00001)作为实参传递给构造

方法中的形参。4、judgeNumber()方法通过双分支结构,判断编号是否有重复。5、通过存取器的4个方法putMid()、putIid()、putOid()、putFid()来输出信息。任务小结任务五实现家庭收支表到家庭收支类的转换任务拓展1、在Java中,构造方法是用来创建对象实例的方法,并且一个类只能有一个名为构造方法的方法,它具有特殊的访问修饰符“static”和名称与类名相同。然而,Java允许在一个类中定义多个构造方法,这被称为构造方法的重载(ConstructorOverloading)。2、构造方法的重载是指在同一个类中可以有多个构造方法,它们的名称相同但参数列表不同。通过这种方式,我们可以根据需要使用不同的参数列表来创建对象实例。任务五实现家庭收支表到家庭收支类的转换任务拓展3、以下是一个示例,演示了如何在一个类中定义多个构造方法:任务五实现家庭收支表到家庭收支类的转换任务拓展任务五实现家庭收支表到家庭收支类的转换

在上面的示例中,我们定义了一个名为Person的类,其中包含了三个构造方法。第一个构造方法没有参数,它将name设置为Unknown,将age设置为0。第二个构造方法接受一个字符串参数name,并将age设置为0。第三个构造方法接受一个字符串参数name和一个整数参数age,用于创建具有指定姓名和年龄的对象实例。通过这些构造方法,我们可以根据需要创建不同参数的Person`对象实例。任务拓展4、Java存取器(AccessController)是Java安全框架中的一个重要组件,它提供了一种在Java应用程序中控制对系统资源和数据的访问权限的机制。Java存取器的优势主要体现在以下几个方面:(1)灵活性:通过使用Java存取器,开发人员可以根据需要灵活地定义哪些类、包、方法或字段可以被哪些用户或角色访问。这使得Java存取器成为一种非常强大的权限控制工具,能够满足各种不同的安全需求。(2)易于使用:Java存取器通过提供易于使用的API和注解,使得开发人员能够轻松地控制对系统资源的访问权限。开发人员只需在代码中添加相应的注解或调用相应的API,即可控制对类、方法或字段的访问权限。(3)可扩展性:Java存取器提供了可扩展的机制,使得开发人员可以轻松地添加自定义的访问规则和授权策略。这使得Java存取器能够适应各种不同的应用场景和安全需求。任务五实现家庭收支表到家庭收支类的转换任务拓展(4)集成性好:Java存取器可以与其他Java安全框架集成,如Java认证和授权服务(JAAS)、Java安全性令牌服务(JASS)等。这使得Java存取器可以与现有的安全系统无缝集成,减少开发人员的工作量。(5)支持细粒度控制:Java存取器可以提供细粒度的控制,使得开发人员可以对类、方法或字段进行单独的权限控制。这使得Java存取器能够满足各种不同的安全需求,例如只允许特定用户或角色访问特定的方法或字段。

综上所述,Java存取器具有灵活性、易于使用、可扩展性、集成性好和支持细粒度控制等优势使得它在Java应用程序中成为一种重要的权限控制工具。任务五实现家庭收支表到家庭收支类的转换1、Java中的构造方法重载是如何实现的?任务思考任务五实现家庭收支表到家庭收支类的转换上海御恒信息科技公司接到一家互联网公司的项目订单,要求最终实现主菜单类和主类的封装。公司刚招聘了一名程序员小张,软件开发部经理要求他尽快熟悉Java中的三大程序控制结构并能运用主类、主菜单类及子菜单类来搭建项目主体结构的技术,小张按照经理的要求开始做以下的任务分析。

任务描述任务六实现主菜单类和主类的封装实现主菜单类和主类的封装首先要在主类FamilyMainProg中调用主菜单类FamilyMainMenu中的方法,从而显示出主菜单,其次封装主菜单类FamilyMainMenu分别调用5个子菜单类中的方法显示子菜单,最后通过5个子菜单类FamilyMenuUser,FamilyMenuMember,FamilyMenuIn,FamilyMenuOut,FamilyMenuMoney,分别实现5个相应辅助类FamilyUser,FamilyMember,FamilyIn,Familyout,Familymoney的输入,处理和输出。任务分析

任务分析任务六实现主菜单类和主类的封装任务实施

任务实施任务六实现主菜单类和主类的封装第一步:封装主类FamilyMainProg来调用主菜单类FamilyMainMenu中的方法,从而显示出主菜单。任务实施

任务实施任务六实现主菜单类和主类的封装第二步:封装主菜单类FamilyMainMenu分别调用5个子菜单类中的方法显示子菜单。任务实施

任务实施任务六实现主菜单类和主类的封装第二步:封装主菜单类FamilyMainMenu分别调用5个子菜单类中的方法显示子菜单。任务实施

任务实施任务六实现主菜单类和主类的封装第二步:封装主菜单类FamilyMainMenu分别调用5个子菜单类中的方法显示子菜单。任务实施

任务实施任务六实现主菜单类和主类的封装第三步:封装子菜单类FamilyMenuUser调用辅助类FamilyUser的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第三步:封装子菜单类FamilyMenuUser调用辅助类FamilyUser的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第四步:封装子菜单类FamilyMenuIn调用辅助类FamilyIn的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第四步:封装子菜单类FamilyMenuIn调用辅助类FamilyIn的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第五步:封装子菜单类FamilyMenuOut调用辅助类FamilyOut的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第五步:封装子菜单类FamilyMenuOut调用辅助类FamilyOut的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第六步:封装子菜单类FamilyMenuMember调用辅助类FamilyMember的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第六步:封装子菜单类FamilyMenuMember调用辅助类FamilyMember的输入,处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第七步:封装子菜单类FamilyMenuMoney调用辅助类FamilyMoney的输入、处理和输出方法。任务实施

任务实施任务六实现主菜单类和主类的封装第七步:封装子菜单类FamilyMenuMoney调用辅助类FamilyMoney的输入、处理和输出方法。任务实施第八步:在主类中调试后的结果。

任务实施任务六实现主菜单类和主类的封装家庭管理系统主菜单任务实施第八步:在主类中调试后的结果。

任务实施任务六实现主菜单类和主类的封装用户登录管理子系统任务实施第八步:在主类中调试后的结果。

任务实施任务六实现主菜单类和主类的封装成员收入管理子系统任务实施第八步:在主类中调试后的结果。

任务实施任务六实现主菜单类和主类的封装成员支出管理子系统任务实施第八步:在主类中调试后的结果。

任务实施任务六实现主菜单类和主类的封装成员管理子系统任务实施第八步:在主类中调试后的结果。

任务实施任务六实现主菜单类和主类的封装成员收支管理子系统1、通过主类中的main()方法来调用主菜单类。2、在主菜单类中设计循环结构可以反复显示主菜单。3、在主菜单类的循环结构中设计多条件语句可以调用子菜单类。4、在子菜单类中设计循环结构可以反复显示子菜单。5、在子菜单类的循环结构中设计多条件语句可以调用各个子类。6、在子类中实现输入、处理、输出等功能。任务小结任务六实现主菜单类和主类的封装任务拓展1、在Java中,switch语句是一种多路选择结构,允许你根据表达式的值来执行不同的代码块。Java中的switch语句从语法到功能上与C和C++中的`switch`语句相似,但在某些方面有所不同。任务六实现主菜单类和主类的封装任务拓展

任务六实现主菜单类和主类的封装

expression:这是你要评估的表达式。它的值会与每个case语句中的值进行比较。

casevalue::当`expression`的值与这个case后面的值匹配时,后面的代码块会被执行。每个case必须以break语句结束,否则控制流会继续到下一个case,这被称为“fallthrough”。default::这是可选的,并且当expression的值与所有case都不匹配时执行。

需要注意的是,在Java7及更高版本中,你可以使用字符串作为switch语句的表达式和case标签,这使得处理字符串更加灵活。

任务拓展任务六实现主菜单类和主类的封装2、do-while循环属于是一种”直到型“的循环结构。因为循环条件是在循环体的后面,所以循环体在判断循环条件之前已经执行一次了。如果循环条件的值为true,则循环体会一直执行,直到循环条件的值为false,就结束循环。大家注意:在do-while循环中,也是可以进行嵌套其他循环的。3、do-while执行顺序如下:(1)先执行一次循环体;(2)如果while循环里的条件为true,则继续执行循环体;(3)当循环体执行完毕后,会再次判断循环条件......;(4)直到循环条件为false,就结束循环。任务拓展任务六实现主菜单类和主类的封装4、do-while和while的区别:执行次序不同,当初始循环条件不满足时,while循环一次都不会执行;do-while循环至少会执行一次。while循环在每次循环开始前首先判断循环条件是否为真,如果为真则执行循环体,否则跳出循环。这意味着,如果循环条件一开始就为假,那么循环体将不会执行。do-while循环则先执行一次循环体,然后再判断循环条件是否为真。如果循环条件为真,则继续执行循环体,否则跳出循环。这意味着,即使循环条件一开始就为假,循环体也至少会执行一次。因此,while循环适用于在执行循环体之前需要进行条件判断的情况,而do-while循环适用于无论条件如何都必须至少执行一次循环体的情况。任务思考1、在设计菜单类时如何使用好do-while循环?2、在设计菜单类时如何使用好switch多条件分支语句?3、如何在主类中调用子类?任务六实现主菜单类和主类的封装

项目描述项目综合实训设计一个“某教育公司”的职业教育产品信息类上海御恒信息科技公司接到一个订单,需要为某教育公司设计一个职业教育产品信息类。该教育公司目前有三种职业教育产品:“CyberSecurity”、“NewMedia”和“UAV”。要求编写Java程序,使用Swing设计界面,选择CyberSecurity或NewMedia或UAV,在文本框中显示相应产品的版本和学时信息。CyberSecurity产品的版本为3.0,学时为3学期;NewMedia产品的版本为2.0,学时为2学期;UAV产品的版本为1.0,学时为1学期。程序员小张根据以上要求进行项目的架构设计后,按照项目经理的要求开始做以下的项目分析。首先,建立职业教育产品类(ProCourse)、设计类成员变量,courseName表示产品名称,version表示版本,semester表示学时、建立带参数的构造方法Course(StringcourseName,Stringversion,Stringseme

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论