自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 洛谷P1102 A-B 数对(C++代码讲解)

给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。

2024-04-10 20:41:58 553

原创 洛谷P4447 [AHOI2018初中组] 分组(C++代码讲解)

小可可的学校信息组总共有 n 个队员,每个人都有一个实力值 ai​。现在,一年一度的编程大赛就要到了,小可可的学校获得了若干个参赛名额,教练决定把学校信息组的 n 个队员分成若干个小组去参加这场比赛。但是每个队员都不会愿意与实力跟自己过于悬殊的队员组队,于是要求分成的每个小组的队员实力值连续,同时,一个队不需要两个实力相同的选手。举个例子:[1,2,3,4,5][1,2,3,4,5] 是合法的分组方案,因为实力值连续;[1,2,3,5][1,2,3,5] 不是合法的分组方案,因为实力值不连续;

2024-04-09 20:48:49 1060

原创 #Java# ATM机系统(登录账号和退出账号大体结构和想法)

从保存用户信息的文件中查找是否存在该账户,如果不存在则提示”该用户不存在“,如果存在则对用户输入的密码和该账户密码进行比较判断,如果错误则提示”密码错误,请重新输入“,如果正确则弹出操作页面让用户选择下一步操作。退出账户后应该自动保存这次用户操作之后的用户信息到指定文档中。并且退出到登录用户界面。

2024-04-08 22:15:39 254 1

原创 #Java# ATM机系统(创建账号功能和保存账号功能实现)

在具体实现中,我们创建账号,需要用到用户的身份证号码和手机号,在用户输入完身份证号码和手机号后,我们会通过用户传入的地区 area中方法obtainNumber() 返回特定的6位数为账号的前六位,然后通过随机类 SecureRandom得到9个随机数组成账号的后九位数,这样用户就得到了新的账号。将传入的账号保存在指定路径 address 下,先判断该文件是否存在,如果不存在说明该账号是新创建的账号,我们新创建一个文件去存放该账号信息,如果存在则直接覆盖掉之前的账号信息。用户输入身份证号码;

2024-04-07 22:37:13 540

原创 #Java# ATM机系统简单构思及框架

accountcipherdeposittimegetDeposit() 方法。

2024-04-06 21:39:16 1855

原创 Java文件内容查找:简单实现与应用

在这个示例中,我们假设要在名为"example.txt"的文件中查找关键字"Java"。程序会逐行读取文件内容,如果某一行包含了关键字"Java",则会在控制台输出找到的内容以及所在的行号。检查每一行:对于每一行读取的内容,使用Java的字符串操作方法(如contains)检查是否包含目标关键字。打开文件:使用Java的文件操作类(如FileInputStream)打开要查找的文件。逐行读取内容:使用Java的IO类(如BufferedReader)逐行读取文件内容。

2024-04-04 00:39:48 375 1

原创 Java对象序列化实际应用

我们使用动态数组暂时存储学生信息,然后通过信息管理类(Information)中的 saveInformation()方法 将其传入到输入的指定路径中去,最后通过 retrieveInformation()方法 读取学生信息。我们在Information类中实现了两个方法,分别是 保存信息(saveInformation)方法 和 输出信息(retrieveInformation)方法。相关概念可看我主页 《深入了解java字节流:探索输入流与输出流》 文章。),若存在则输出学生学习。

2024-04-02 20:42:38 398 1

原创 简单理解Java文件操作与对象序列化

在Java编程中,文件操作和对象序列化是常见的任务,它们在许多应用程序中起着至关重要的作用。本文将深入探讨Java中的文件操作和对象序列化,并通过实例代码展示其使用方法和技巧,帮助读者更好地理解和运用这些功能。对象的序列化是将对象转换为字节流的过程,而反序列化则是将字节流转换回对象的过程。在Java中,对象的序列化和反序列化通过实现。文件操作是处理计算机文件的过程,包括创建、读取、写入和删除文件等操作。以上示例代码中,我们展示了文件操作和对象序列化的基本用法。类和相关的输入输出流来实现。

2024-04-01 22:42:55 396 1

原创 深入了解Java字节流:探索输入流与输出流

字节流是Java I/O(输入/输出)机制的一部分,它允许程序以字节的形式读取和写入数据。字节流主要用于处理二进制数据,如文件、图像、音频和视频等。Java中的字节流主要分为输入流和输出流两种类型,分别用于从数据源读取字节和向数据目标写入字节。

2024-03-31 23:52:48 514 1

原创 java接口相关概念

接口使用 interface 关键字定义,它可以包含方法声明、常量及默认方法和静态方法。在接口中,我们一般只需声明方法,不能写函数体(除了默认方法和静态方法可以外,其他的都不可以,默认方法是用 default 关键字修饰的方法,静态方法是用 static 关键字修饰的方法还需要注意的是在接口中的方法默认是用 public 修饰的,如果用 private 修饰,编译器会报错,这是为什么呢?

2024-03-31 00:35:54 439 1

原创 Java File类代码示例

java.io包的File类管理磁盘文件及目录。它可以用于创建文件和目录、删除文件和目录、测试文件是否存在、获取文件大小等等操作,File类不直接对文件的内容进行操作,而是管理文件系统中的文件和目录。File类常用的方法:1.创建文件或目录:创建一个新文件。mkdir():创建一个新目录。mkdirs():创建一个新目录,包括任何必需但不存在的父目录。2.删除文件或目录delete():删除文件或空目录。3.文件/目录属性exists():检查文件或目录是否存在。isFile()

2024-03-29 22:53:25 1222 1

原创 Java接口应用代码示例

其中包含了两个私有变量 名字(name) 和 年龄(age),还有五个公共的方法,getName() 返回动物名字、getAge()返回动物年龄、setName() 修改动物名字、setAge() 修改动物年龄、和 构造方法 Animal( String name, int age)。在这两个子类中我们都实现了 IAbility 接口,可以看到在两个子类中我们都实现 接口 IAbility 中的方法, 只是根据它们自身的需求,实现的的内容有些不同。我们还是以动物类(Animal)为例举例。

2024-03-28 20:25:29 573

原创 Java父子类继承关键字super()的理解

每当子类要实例化时,子类的构造方法都会首先调用父类的构造方法(必须是子类构造方法的第一行,不然程序会报错),这个是默认的,不管我们有没有写 super() 关键字去调用,它都会有一个默认的 super() 关键字(没写会默认调用父类的无参构造方法),以确保父类的初始化能够完成。在子类中我们是没有定义属性的,只有一个公共的有参构造方法,在构造方法中,我们使用了super() 关键字来调用父类的构造方法 Animal( int age, String name) 来初始化父类的属性(

2024-03-27 18:46:02 524

原创 Java异常代码处理代码示例

我们在进行除法操作时,会出现分母为零的情况,当出现这种情况时,我们就使用 throw关键字 抛出一个分母为零的异常,接收到异常信息后,执行 catch语句 打印出错误信息提示。在 try-with-resources 语句中打开的资源会在 try 块结束时自动调用 close 方法进行资源释放,无需手动管理资源的关闭,避免了可能出现的资源泄露问题。在这里我们尝试读取文件中的内容,这里用 finally块去关闭文件,因为不管是否出现异常,finally块都会执行,确保了资源的正确释放。

2024-03-26 12:57:42 897

原创 Java方法重载代码示例

方法重载和父子继承方法重写有着较大的区别。父子类继承中方法重写,方法重写是子类重新定义了父类中已经存在的方法,方法名、参数列表和返回类型必须要与父类相同。而方法重载则不同,方法重载是在同一个类里定义了多个方法名相同的方法,它们的参数数量、参数类型或返回类型是不同的,它会根据我们输入的参数而取匹配一个合适的方法进行操作,这就展现了方法重载代码的可读性和灵活性。

2024-03-25 21:36:47 966 1

原创 Java优先级队列(PriorityQueue)有关贪心算法问题代码示例

贪心算法通常用于解决那些可以分解为一系列子问题的问题,我们通过实现每一个子问题的最优解( 不考虑之后的结果),从而达到整体最优解, 有关的问题有 最小生成树问题、最优路径问题、最少合并问题等等。

2024-03-24 19:36:46 472 1

原创 FatMouse‘s Trade C语言代码示例

这个题目我们可以简单理解为,在 n 个房间中,要用一定的食物和猫换取一定的豆子,且每一个房间的交换比都不同,开始会给出 m 拥有的食物数,你要如何交换才能得到更多豆子。当 n 和 m 有一个等于 -1 时,那么程序就结束。

2024-03-23 21:12:31 490

原创 Java优先级队列(PriorityQueue)代码示例

我们需要什么类型的队列,就可以在类型一处写上该类型名,以便创建出一个该类型的队列。的形式去设置队列的优先级,这样就可以根据我们自己的要求去排列了,类型应与队列的类型相同,而成员名处则写出该队列按照哪个元素的大小顺序(从小到大)进行排列的成员名。优先级队列,根据元素的优先级进行排列和访问,相当于根据元素的优先级进行自动排列,不需要我们手动去写一个代码给它排序。的形式进行排列,我们通过使用 reversed() 方法反转比较顺序,从而达到大顶堆排序的目的。根据类型的不同,书写形式有微小的区别,如下。

2024-03-22 13:18:14 853 1

原创 Java图书管理简单代码示例

我们在 图书管理员类(Librarian) 中定义了一个私有成员 acount(账号),因为管理员的账号是保密的只有管理员才知道,这样就起到了保密作用,有一个公共方法 setAccount() 用来接收用户输入的账号,有一个私有方法 getAccount() 用来得到用户输入的账号,且此方法只能在 图书管理员类(Librarian) 中使用。(1)书籍(Book): 书籍的名字(name)、书籍的作者(author)、书号(id)、数量(number)我们先写一个书籍类(Book)

2024-03-21 21:37:38 773 1

原创 Java匿名对象代码示例

而今天我们讲的匿名对象则不同,我们不会给它命对象名,而是在使用它的时候直接以 (new + 构造方法) 的形式直接创建并初始化这个对象,不用给它命名,并且它在使用完后,会被直接销毁,所以是一次性的,无法重复使用该对象。在我们要需要调用学生类里面的方法时,我们可以直接通过创建一个匿名对象去调用,这样就不用去声明一个新的对象了,避免了对象名的繁琐,可以让我们的代码更加清晰易懂。一般地,我们在使用对象前,需要去声明并创建一个对象,此时我们会给对象一个对象名,以便我们在程序中通过对象名多次使用该对象。

2024-03-20 22:39:42 264 1

原创 Java抽象类代码示例

在Circle类中,我们定义了一个私有变量radius(半径),定义了俩个构造方法Circle() 、Circle(double radius),其中Circle()无参构造方法用于初始化圆半径,而Circle(double radius)有参构造方法用传入参数初始化半径,且判断传入参数是否合法,如果不合法则抛出一个异常对象(IllegalArgumentException)。(2)注意抽象类可以不定义抽象方法,都是如果一个类中要定义抽象方法,那这个类必须是抽象类。

2024-03-19 22:03:18 504

原创 Java的接口和多态性代码示例

一个类可以实现多个接口,我们通过关键字 implements 来实现接口,一个接口又可以被多个类实现,但是要注意的是,一个类只能实现一个类。通过这个我们可以知道接口具有多态性,在实现这个接口的所有类中,会根据它们自身的需求去实现接口中的方法,但是必须遵循接口定义的方法。我们先创建一个动物接口(Animal),其中有两个方法,分别是 eat() 、introduce(),eat() 输出动物喜欢吃什么,introduce() 输出动物的基本信息。所以我们要在哪里去实现这个方法呢?

2024-03-18 21:44:56 586 1

原创 Java父子类代码示例(进一步了解和学习)

(1)输入 next() 和 nextLine() 的区别,因为今天遇到了这个问题,next() 不会读入空格和换行,所以当你一行要输入几个字符串时可以考虑用 next() 输入。而 nextLine() 则不同,它会读入空格,直到遇到换行才结束,所以一般用于整行的输入。(2)对于父子类之间方法的调用和改写,还有些生疏,如何通过 super() 关键字来调用父类的构造方法?

2024-03-17 20:07:08 638

原创 初步了解Java父子类继承

在我们学习Java的时候,我们知道,我们可以把有相同属性和行为的对象归为一个类,而在这个类中,我们还可以继续细分对象的属性和行为,又可以细分成不同的类,而这个类不仅继承了上一个类的属性和行为,还拥有自己独特的属性和行为。接下来我们可以把员工又分为不同的类,如 经理(Manager)、销售(Salesman)、工人(Worker), 不同的员工,他们的工资不一样。所以我们又可以在 员工类(Employee) 的基础上创建子类:经理(Manager)、销售(Salesman)、工人(Worker)。

2024-03-16 22:50:47 387

原创 链表的创建及遍历(C语言)

链表这个东西,很多时候会让我们很头疼,因为链表需要用到指针,而指针正是我们学习C语言遇到的最大困难之一,而链表又不得不用指针。

2024-03-08 10:40:30 602 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除