- 博客(170)
- 收藏
- 关注
原创 Java面向对象进阶:继承
如果我们要定义如下类:学生类、老师类这两个类中存在大量重复的信息(属性:姓名、年龄;行为:吃饭、睡觉),会导致代码重复,如何让代码变得简洁呢?假如多个类中存在相同属性和行为,我们可以将这些重复的内容抽取到单独的一个类中,其他类就不需要再定义这些属性和行为,只需单独抽取的那一个类。单独抽取的类称为,其他多个类称为。
2025-08-29 07:00:00
430
原创 Java09--面向对象进阶:static关键字
修饰符 static 数据类型 变量名 = 初始值;修饰符可以是publicprivateprotected或默认(不写)通过类名直接访问(推荐)
2025-08-28 07:00:00
363
原创 Java练习:学生管理系统升级版
为学生管理系统书写一个登录、注册、忘记密码的功能只有用户登录成功之后,才能进入到学生管理系统中进行增删改查操作。System.out.println("欢迎来到学生管理系统");System.out.println("请选择操作 1登录 2注册 3忘记密码");
2025-08-18 07:00:00
592
原创 Java练习:学生管理系统
采取控制台的方式去书写学生管理系统。初始菜单:"-------------欢迎来到HUEL学生管理系统----------------" "1:添加学生" "2:删除学生" "3:修改学生" "4:查询学生" "5:退出" "请输入您的选择:" 属性:id、姓名、年龄、家庭住址 键盘录入每一个学生信息并添加,需要满足以下要求: 键盘录入要删除的学生id,需要满足以下要求: 键盘录入要修改的学生id,需要满足以下要求:打印所有的学生信息,需要满足以下要求:包含以下成员变量:3.2 系统主界面搭建步骤:
2025-08-17 07:00:00
790
原创 HUELOJ:175 谁的年龄最小(结构体专题)
首先输入一个整数 n(1<=n<=10),表示好友人数,然后输入 n 行,每行包含一个好友的信息:姓名(不超过 8 位)以及三个整数,分别表示出生日期的年月日。设计一个结构体类型,包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入 n 个好友的信息,输出年龄最小的好友的姓名和出生日期。输出年龄最小的好友的姓名和出生日期,用空格隔开,出生日期的输出格式见输出样例。
2025-08-10 07:15:00
379
原创 HUELOJ:170 查找最大字符串(指针专题)
从键盘上输入多个字符串(每个串不超过 5 个字符且没有空格),用”*****”作为串输入结束的标记。从所输入的若干字符串中,找出一个最大的串,并输出该串。要求最大串的查找通过调用编写的函数实现。//在包含 n 个字符串的二维字符数组 name 中,查找值最大的字符串,将其下标存入指针 p 所指内存单元。一行输入一个字符串,输入多行。输出一个字符串,单独占一行。
2025-08-10 07:00:00
231
原创 HUELOJ:169 长整数排序(指针专题)
输入 n 然后输入 n 个位数不超过 100 位的大整数,输入的整数可能含有前导 0。将这 n 个长整数排序后输出,输出不含前导 0。输入第一行是一个正整数 n(n<=10),接下来 n 行是 n 个大整数,均非负。若 s1 指向的整数大于 s2 指向的整数,返回 1;若 s1 指向的整数小于 s2 指向的整数,返回-1;若 s1 指向的整数等于 s2 指向的整数,返回 0;输出 n 行,为 n 个升序排序后的大整数。
2025-08-09 07:15:00
248
原创 HUELOJ:168 密码解密(指针专题)
有加密当然也有解密啦。已知明文中只有数字和字母,且加密的规则如下:将每个字符的 ascii 码的值减去 24 作为每个字符加密过后的密文,例如’a’的 ascii 码的值为 97,那么加密后就变成了 73。"73"就是’a’的密文。所以,若密文是“757392”,则解密后的原文是“cat”。现在请你编写程序,将一段密文解密为原文。//将密文 cipher 解密后将明文存入 plain。输入一串字符串,最长为 200。请定义并使用如下函数。
2025-08-09 07:00:00
292
原创 Java面向对象综合练习-02
定义一个长度为3的数组,存储1~3个学生对象作为初始数据,学生对象的学号、姓名各不相同。要求是通过id删除学生信息,如果存在,则删除,如果不存在,则提示删除失败。既然要通过id删除,那就应该找到 id 在数组中对应的索引。如果创建了新数组,就需要遍历新数组;这时就需要创建一个新数组,长度为老数组的长度+1。找到 id 为2的学生对应的索引,然后判断索引。若索引存在,则年龄+1;调用此方法后还需判断索引是否存在。学生的属性:学号,姓名,年龄。
2025-08-05 07:00:00
848
原创 Java面向对象综合练习-01
定义数组存储三个商品对象。商品的属性:商品的 id,名字,价格,库存创建三个商品对象,并把商品对象存入到数组当中IDEA提供了快捷键用于创建标准的Javabean类:先写上私有化的成员变量然后按Alt + ins或Alt + ins + Fn键,点击Constructor再点击Select None,用于写空参构造写带全部参数的构造:按相同的快捷键,依旧点击Constructor,按Ctrl + A选上全部选项,然后OK。
2025-08-04 07:00:00
548
原创 HUELOJ:167 加密(指针专题)
加密的规则如下:将每个字符的 ascii 码的值减去 24 作为每个字符加密后的值,例如’a’的 ascii 码的值为 97,那么加密后就变成了 73。"73"就是’a’的密文。现在请你编写程序,对一段文字加密。//把原文字符串 plain 加密后存入字符串 cipher。输入一串字符串,只包含数字和字母,最长为 200.输出加密后的字符串。
2025-08-03 07:15:00
264
原创 HUELOJ:166 最长字符串(指针专题)
输入有多行,每行一个字符串,每个字符串长度不超过 80,输入最多不超过 100 行,用****作为结束输入的标志,该行输入不用处理。从字符串数组 str 中找出最长的一个字符串,并将其下标存入形参指针 max 所指内存。输入多个字符串,输出最长字符串。要求定义并使用函数 maxLenStr(),输出最长的一个字符串。
2025-08-03 07:00:00
287
原创 HUELOJ:164 账单(指针专题)
第一行是整数 n (n<100)。然后是 n 行的账单信息,每一行由事物的名字 name 和对应的花费 c 组成,长度不超过 200。中间会有一个或多个空格,而每一行的开头和结尾没有空格。每到月末,小明就会对这个月的支出账单进行整理和统计。如今电脑已经普及大学校园,所以小明想让电脑帮忙做这件事情。聪明的你就为小明编一个程序来完成这件事情吧。首先输入一个整数 ncase,表示测试实例的个数。每个测试实例对应一行输出,输出总的花费,小数点后保留一位数字。
2025-08-02 07:15:00
323
原创 HUELOJ:163 逆转数(指针专题)
任意给你一个整数,这个数可能很大(最长不超过 100 位),你能求出它的逆转数吗?输入一个长整数 str,不超过 100 位,输入的整数不含前导 0。1.一个末尾没有 0 的整数,它的逆转数就是各位数字逆序输出;//函数求出 str 的逆转数并存入 str。输出 str 的逆转数。2.一个负数的逆转数仍是负数;
2025-08-02 07:00:00
280
原创 HUELOJ:162 实数取整(指针专题)
读入一个实数,输出实数的整数部分。注意该实数的位数不超过 100 位。输入的整数部分可能含有不必要的前导 0,输出时应去掉,当然,若整数部分为 0,则该 0 不能去掉。如输入 0023.56732,输出应为 23,而不是 0023;0.123 对应的输出应为 0。当然输入也可能不含小数部分。//将字符串 p 表示的实数取整后生成新的字符串,并由函数返回。
2025-08-01 07:15:00
220
原创 HUELOJ:161 实数的小数部分(指针专题)
则输出 0.123456789123456789。若去掉末尾 0 之后小数部分为 0,则输出“No decimal part”。注意该实数的位数不超过 100 位。将字符串 p 表示的实数的自小数点开始的小数部分存入一个字符串,并由函数返回,若 p 为“123.456”,则返回的字符串为“.456”。读入一个实数,输出该实数的小数部分,小数部分若多余的末尾 0,请去掉。如输入 111111.12345678912345678900。不超过 100 位。输出小数部分,输出占一行。请定义并使用如下函数。
2025-08-01 07:00:00
386
原创 HUELOJ:158 字符串长度(指针专题)
编写一函数 len,求一个字符串的长度,注意该长度不计空格。要求用字符指针实现。在主函数中输入字符串,调用该 len 函数后输出其长度。输入一个字符串,以回车结束,长度不超过 100。//实现 sp 所指串的长度,不计空格。输出一个整数,单独占一行。
2025-07-30 07:15:00
320
原创 HUELOJ:157 矩阵的最大值(指针专题)
找出一个 2×3 的整数矩阵中的最大值及其行下标和列下标,要求调用函数 FindMax(int p[][3], int m, int n, int *pRow, int *pCol)实现,行下标和列下标在形参中以指针的形式返回。//在 mn 矩阵 p 中查找最大值,将其行下标存入 pRow 所指内存单元,将其列下标存入 pCol 所指内存单元。输出 3 个整数,矩阵中的最大值及其行下标和列下标,数据之间用空格隔开。测试数据保证最大值唯一。输入 2 行 3 列整数,共 6 个。
2025-07-30 07:00:00
280
原创 Java07--面向对象
类由属性和行为两部分组成属性:指事物的特征,如手机事物(品牌,价格);在类中通过成员变量来体现(类中方法外的变量)行为:指事物能执行的操作,如手机事物(可以打电话);在类中通过成员方法来体现(和一般的方法相比,去掉 static 关键字即可)类的定义步骤定义类编写类的成员变量编写类的成员方法//成员变量int price;//成员方法System.out.println("打电话");System.out.println("发短信");是面向对象三大特征之一(封装、继承、多态)
2025-07-29 22:46:47
1405
原创 HUELOJ:155 又是排序(指针专题)
已定义如下 swap 函数,可实现形参 pa 和 pb 所指内存单元的内容交换。请务必使用本函数实现两个变量内容的互换。输出排序后的 4 个整数,由空格隔开。将输入的四个整数按由大到小的顺序输出。输入 4 个整数,用空格隔开。
2025-07-25 07:15:00
314
原创 HUELOJ:145 二进制数的大小
要求程序定义一个 bToD()函数和一个 main()函数,bToD() 函数的功能是将二进制数转化为十进制整数,其余功能在 main()函数中实现。输入三个 2 进制的数,要求将这三个二进制数对应的十进制整数按从小到大的顺序输出。输入三个 2 进制的数,用空格隔开。所有数据均为非负数,二进制数长度不超过 30。//函数返回二进制数 str 对应十进制整数。将对应的十进制整数按从小到大的顺序输出。
2025-07-25 07:00:00
266
原创 HUELOJ:144 进制转换
将十进制整数 n 转换成二进制,并保存在字符数组中,最后输出。要求定义并调用 convert()函数, 将十进制整数 n 对应的二进制数存入字符数组 str 中。输出一个 01 字符串,即 n 对应的二进制数,不含前导 0。输入一个非负整数 n,n<2^31。
2025-07-24 07:15:00
293
原创 HUELOJ:142 输出最短字符串
第一行是一个整数 n,后面跟着 n 行,每行包括一个由字母和数字和空格组成的字符串,长度不超过 1000。输入 n 和 n 个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。长度最短的字符串,若长度相同则输出出现较早的那一个。
2025-07-24 07:00:00
484
原创 HUELOJ:140 查找最大元素
输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。对于输入的字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。输入一行长度不超过 200 的字符串组成,字符串仅由大小写字母构成。
2025-07-23 07:15:00
312
原创 HUELOJ:139 首字母变大写
输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。输入一个长度不超过 100 的英文句子。请输出按照要求改写后的英文句子。
2025-07-23 07:00:00
193
原创 HUELOJ:138 算菜价
输入含有一些数据组,每组数据包括菜种(不含空格的字串),数量 w(计量单位不论,一律为 double 型数)和单价 p(double 型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。支付菜价的时候,由于最小支付单位是角,所以总是在支付的时候采用四舍五入的方法把分头去掉。最后,请输出一个精度为角的菜价总量。
2025-07-22 07:15:00
302
原创 HUELOJ:137 字符串转换
输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以 2 输出。输入一个以回车结束的字符串,长度不超过 100,由数字和字母组成。将转换后的整数乘以 2 输出,测试数据保证结果在 int 范围内。
2025-07-22 07:00:00
374
原创 HUELOJ:136 单词个数统计
从键盘输入一行字符,长度小于 1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。仅有空格和英文字母构成。
2025-07-21 07:15:00
253
原创 HUELOJ:134 最常用字符
输出一个小写字母,表示该字符串中出现次数最多的字母。若答案有多个,则只输出 ASCII 码最小的那个。英文字母里出现频率最高的是哪个字母呢?给定一个字符串,输出字符串中出现次数最多的字母。输入一个只含有大小写字母和空格的字符串,长度不超过 100,以回车结束。
2025-07-21 07:00:00
468
原创 HUELOJ:132 第几天
你知道,2012-1-1 是该年的第 1 天,而 9999-9-9 呢?给你一个具体的日期,计算该日期是该年的第几天。输入一个日期,格式为:Year-month-day。year 是小于 9999 的正整数。一个整数,表示该日期是该年的第几天。
2025-07-19 07:15:00
340
原创 HUELOJ:131 矩阵乘积
第一行三个正整数 m、p 和 n,0<=m,n,p<=10,表示矩阵 A 是 m 行 p 列,矩阵 B 是 p 行 n 列;接下来的 m 行是矩阵 A 的内容,每行 p 个整数,用空格隔开;最后的 p 行是矩阵 B 的内容,每行 n 个整数,用空格隔开。输出乘积矩阵:输出占 m 行,每行 n 个数据,以空格隔开。计算两个矩阵 A 和 B 的乘积。
2025-07-19 07:00:00
493
原创 HUELOJ:130 上三角矩阵的判断
编写程序,输入一个正整数 n(1<=n<=10)和 n 阶方阵 a 中的元素,如果 a 是上三角矩阵,输出“YES”,否则,输出“NO”。要求定义函数 IsUpperTriMatrix()判断矩阵 a 是否是上三角矩阵,如果是返回 1,否则返回 0。上三角矩阵即主对角线以下(不包括主对角线)的元素都为 0 的矩阵,主对角线为从矩阵的左上角至右下角的连线。输入一个正整数 n(1<=n<=10)和 n 阶方阵 a 中的元素,均为整数。如果 a 是上三角矩阵,输出“YES”,否则,输出“NO”
2025-07-18 07:15:00
347
原创 HUELOJ:128 小明的调查作业
小明的老师布置了一份调查作业,小明想在学校中随机找 N 个同学一起做一项问卷调查,聪明的小明为了实验的客观性,他先随机写下了 N 个 1 到 1000 之间的整数(0,不同的数对应着不同的学生的学号。但他写下的数字难免会有重复数字,小明希望能把其余重复的数去掉,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输出也是 2 行,第 1 行为 1 个正整数 M,表示不相同的整数的个数。第 2 行为 M 个用空格隔开的正整数,为从小到大排好序的不相同的整数。
2025-07-18 07:00:00
307
原创 HUELOJ:126 最值交换
有一个长度为 n 的整数序列。请写一个程序,先把序列中的最小值与第一个数交换,再把最大值与最后一个数交换。分别编写两个函数 MinIndex()和 MaxIndex()来计算最小值下标和最大值下标。//函数返回数组 a 中最小元素的下标。//函数返回数组 a 中最大元素的下标。第二行为 n 个正整数组成的序列,保证没有重复元素。数组元素的输出调用函数 PrintArr()。
2025-07-17 07:15:00
433
原创 HUELOJ:125 数列有序
一个非递减有序的整型数组有 n 个元素,给定一个整数 num,将 num 插入该序列的适当位置,使序列仍保持非递减有序。第一行是一个正整数 n,n<1000。第二行是 n 个整数,第三行是待插入整数 num。另外函数仍然调用以前定义过的函数 PrintArr()输出数组所有元素。输出非递减有序的 n+1 个整数,数据之间用空格隔开。
2025-07-17 07:00:00
363
原创 HUELOJ:124 查找数组元素
编写程序,输入 n(1<=n<=10),输入 n 个整数构成一个数组,输入整数 x,在这个数组中查找 x 是否存在,如果存在,删除 x,后面元素依次向前添补空位,并输出删除元素后的数组。如果不存在,输出“Not Found”。输出删除元素后的数组,每个元素占 4 列,右对齐。如果不存在,输出“Not Found”。如果数组中有多个 x,只删除下标最小的那个。然后在 main()中,先调用函数 find(),若查找失败输出“Not Found";第三行是一个整数 x,表示待查找元素。
2025-07-16 07:15:00
287
原创 HUELOJ:123 删除元素
输入一个递增有序的整型数组 A 有 n 个元素,删除下标为 i 的元素,使其仍保持连续有序。定义如下两个函数分别实现删除元素操作和数组输出操作。输入分三行,第一行是一个整数 n(n<10),第二行是 n 个整数,第三行是要删除元素的下标 i,i>=0。/删除数组 a 中下标为 i 的元素/void PrintArr(int a[], int n);/输出数组 a 的前 n 个元素/输出删除下标为 i 的元素后的数组元素,数据之间用空格隔开。
2025-07-16 07:00:00
297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人