![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
地平线无际
这个作者很懒,什么都没留下…
展开
-
2021-09-19
题目:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空class Solution { public boolean backspaceCompare(String s, String t) { int S_Len = s.length(), T_Len = t.length(); char[] S_arr = s.toCharArray(), T_a原创 2021-09-19 22:18:08 · 183 阅读 · 0 评论 -
什么是递归?
递归在我们平常的练习中经常会使用到,那么到底什么是递归呢?递归: 它是指一段程序直接或者间接调用自身的一种方法,通过这种形式执行需要进行一些固定步骤的许多操作,它可以把一个复杂并且庞大的问题简单化,通过专注于解决它分化出来的小问题从而解决大问题,从而大大减少我们的代码量,是提高我们编码效率的很好方法。递归的表现:a.我们在两面相对的镜子之间放一根正在燃烧的蜡烛,我们会从其中一面镜子里看到一根蜡烛,蜡烛后面又有一面镜子,镜子里面又有一根蜡烛……b.平常我们需要写一篇论文,拿到笔了,却不知道做什么,这时原创 2021-09-18 18:16:45 · 11218 阅读 · 0 评论 -
2021-09-18
题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length <= 3000-105 &原创 2021-09-18 14:16:26 · 192 阅读 · 0 评论 -
2021-09-18
题目:存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现的数字,返回同样按升序排列的结果链表。示例 1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode()原创 2021-09-18 13:24:49 · 107 阅读 · 0 评论 -
求最大子序和
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-100000class Solut原创 2021-09-17 16:15:58 · 64 阅读 · 0 评论 -
输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1‘ 的个数(也被称为汉明重量)。
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。示例 1:输入:0000000000000000000原创 2021-03-22 15:12:12 · 2512 阅读 · 0 评论 -
Java之网络编程TCP通信
一、一些相关知识概念查看本机IP地址,在cmd中,输入命令:ipconfig ;使用ping+空格+IP地址,即可查看本计算机是否可与该IP地址对应的计算机进行通讯 ;本机IP地址统一为:127.0.0.1 ;本机的域名统一为:localhost (它也代表了本地的IP地址)端口号是一个逻辑接口,我们无法直接看到,可以使用一些软件查看端口号,当我们使用网络软件一打开,那么操作系统就会为网络软件分配一个随机的端口号或者网络软件在打开的时候和系统要指定的端口号端口号是由两个字节组成(0-65535原创 2020-12-11 13:41:18 · 175 阅读 · 0 评论 -
Java之线程池
package com.company;import java.util.concurrent.Executors;import java.util.concurrent.ExecutorService;import java.util.concurrent.ThreadFactory;class th1 implements Runnable{ @Override public void run() { System.out.println(Thread.curr原创 2020-12-09 18:06:56 · 73 阅读 · 0 评论 -
Java之线程练习题:(解法2)用一个线程每隔1秒显示系统日期时间,另一个线程打印一个大数的所有因子,当质数计算完毕后,停止时间的显示
题解二:package com.company;import java.util.Date;import java.util.Scanner;import java.util.concurrent.ExecutionException;/*编写一个程序:用一个线程每隔1秒显示系统日期时间,另一个线程打印一个大数的所有因子,当质数计算完毕后,停止时间的显示 */class thread1 implements Runnable{ public void run(){原创 2020-12-03 22:17:43 · 906 阅读 · 0 评论 -
Java之线程练习题:(解法1)用一个线程每隔1秒显示系统日期时间,另一个线程打印一个大数的所有因子,当质数计算完毕后,停止时间的显示
题解一:处理问题:1、为什么使用了isAlive判断线程状态后,使用interrupt方法为什么还是无法中断线程—>对策:多次判断再中断2、同时使用sleep和interrup产生的sleep interrupted问题—>对策:使用Lock锁package com.company;import java.util.Date;import java.util.Scanner;import java.util.concurrent.ExecutionException;imp原创 2020-12-03 22:14:50 · 797 阅读 · 0 评论 -
JDBC事务
事务:完成一件事情的数据库操作语句共同构成了一个事务。事物的基本要素:①原子性:一组事务,要么全部成功完成,要么全部不完成②一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。如:A向B转账,那么A扣了钱,B则一定会收到。③隔离性:每个事务独立运行。一个事务处理后的结果,影响了其他事务,那么其它事务会撤回(不完成)。事物的100%隔离,需要牺牲速度。④持久性:事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚1、开启事务需要先把JDBC驱动程序的自动提交模式关闭,使用setAu原创 2020-11-28 20:48:35 · 106 阅读 · 1 评论 -
Java之PreparedStatement 的使用
先看一段代码: try { Statement statement = conn.createStatement(); statement.executeUpdate("insert into table1(column1,column2) values(101,'xxx')"); } catch (SQLException e) { e.printStackT\frace(); }其中,是直接使用了Statement向表中插入数据原创 2020-11-28 17:35:31 · 1176 阅读 · 0 评论 -
Java之城堡游戏设计的优化
我们再来回顾一下题目:一、城堡游戏介绍:1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。4.有五个地点,分别是:小酒原创 2020-11-28 15:14:55 · 596 阅读 · 1 评论 -
Java之城堡游戏设计
一、城堡游戏介绍:1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。4.有五个地点,分别是:小酒吧,大厅,书房,卧室,次原创 2020-11-28 14:03:57 · 1261 阅读 · 0 评论 -
编写一个学生管理系统的JDBC程序
package com.company;import com.mysql.cj.protocol.Resultset;import java.sql.*;import java.util.Scanner;public class Main<ex> { public static void main(String[] args)throws ClassNotFoundException, SQLException { Connection conn=null;原创 2020-11-27 10:24:41 · 301 阅读 · 0 评论 -
练习编写一个JDBC程序。
编写一个JDBC程序,实现以下要求:创建一个名为tb_user表,对该表实现插入、修改、查询、删除操作在IntellijIdea中:1、下载mysql驱动2、在我们的项目中新建一个bin目录,并把下载的驱动中的 mysql-connection-java-8.0.22.jar复制粘贴到bin目录下3、右键我们复制粘贴好的驱动->点击:Add as library…4、就可以写代码啦package com.company;/*编写一个JDBC程序,实现以下要求:创建一个名为tb_u原创 2020-11-26 17:12:37 · 3782 阅读 · 0 评论 -
java之抽象方法/接口/内部类介绍
内容组成:1、抽象方法2、接口3、成员内部类4、局部内部类5、匿名内部类抽象方法用来干什么呢?当我们想要定义一个类的时候,通常会需要定义一些方法来描述这个类的行为特征,但是,当我们又还没想好要具体实现一个怎样的方法的时候,抽象方法就派上用场了。抽象方法必须使用abstract关键字修饰,不需要实现它的方法体。当一个类中含有了抽象方法,那这个类就是抽象类,相应地也需要abstract关键字来修饰。抽象方法的基本语法格式:[修饰符] abstract class 类名{ [修饰符] abs原创 2020-11-21 22:23:55 · 92 阅读 · 0 评论 -
java之通过Callable创建线程,以输出斐波那契数列为例
首先我们先了解一下Callable接口Callable接口可以满足我们既能创建线程,又可以有返回值的需求。(Thread类和Runnable接口实现多线程时,不能同时获得返回值。)经查询,Callable只有一个方法call实现多线程的方式与Runnable接口一样,都是通过Thread类的有参构造方法传入Runnable接口类型的参数来实现多线程,不同的是,这里传入的是Runnable接口的子类FutureTask对象作为参数,而FutureTask对象中则封装带有返回值的Callable接口实现类原创 2020-11-21 11:34:41 · 406 阅读 · 1 评论 -
通过Thread和Runnable创建线程的两种方式(举例说明)
线程与进程:①在多任务操作系统中,每个运行的程序都是一个进程,用来执行不同的任务,而一个进程中可以有多个执行单元同时运行,来同时完成一个或多个程序任务,这些执行单元就成为线程。②每一个进程中至少存在一个线程。当一个Java程序启动时,就会产生一个进程,该进程回默认创建一个线程,在这个线程上运行main()方法中的代码。两者的区别:调度:进程拥有资源; 线程是调度和分派的基本单位; 同一进程中线程的切换不会引起进程的切换,但是进程与线程间的切换会导致资源的切换。并发性:进程之间可以并原创 2020-11-21 09:47:17 · 287 阅读 · 0 评论 -
Java之Properties类解析
Map接口有一个实现类Hashtable,而Hashtable中存在Properties这一子类。Properties类在实际应用中非常重要。不同的编程语言有着不同的配置文件,而且配置文件里的很多变量是要经常做修改的,为了方便用户配置,让用户能够脱离程序本身去修改相关的变量配置,这时候Properties就派上用场了。它主要用来存储字符串类型的键和值,在实际开发中,经常使用它来存取应用的配置项。Properties中的方法:其中的一些常用方法:1、public Properties() 创建原创 2020-11-20 22:27:16 · 591 阅读 · 0 评论 -
JAVA中的接口与类的关系
接口的基本概念虽然编写接口的方式和类很相似,但接口并不是类,它们是不同的两个概念。类描述对象的属性和方法,接口则包含类要实现的方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。接口与类的相似点一个接口可以有多个方法。接口文件保存在 .java 结尾的文件中,文件名使用接口名。接口的字节码文件保存在 .class 结尾的文件中。接口相应的字节码文件必须在与包名称相匹配的目录结构中。接口与类的区别接口没有构造方法。接口中所有的方原创 2020-11-19 16:39:08 · 590 阅读 · 0 评论 -
java练习之应用JFrame窗口中的各种组件。编写一个JFrame窗口,要求如下: (1)窗口中的NORTH区域中放置一个JPanel面板。 (2)JPanel面板从左到右依次放置如下组件: ①1个
/*2、编写一个JFrame窗口,要求如下:(1)窗口中的NORTH区域中放置一个JPanel面板。(2)JPanel面板从左到右依次放置如下组件:①1个JLabel标签,标签的文本为”兴趣“。②3个JCheckBox多选按钮,文本分别为”羽毛球“”乒乓球“”唱歌“。③1个JLabel标签,标签的文本为”性别“。④两个JRadioButton按钮,文本分别为”男“”女“。(3)窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域。(4)当单击多选原创 2020-11-19 13:12:20 · 4143 阅读 · 0 评论 -
Java练习之获取单击鼠标时鼠标所在的位置坐标编写一个JFrame窗口,要求如下: (1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键单击的坐标” (2)为JFrame
/*1、编写一个JFrame窗口,要求如下:(1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键单击的坐标”(2)为JFrame窗口添加一个鼠标事件,当鼠标右键单击窗口时,鼠标的坐标在JLabel标签中显示*/package com.company;import javax.swing.*;import java.awt.*;import java.awt.event.MouseEvent;import java.awt.event.MouseListene原创 2020-11-19 11:17:38 · 2113 阅读 · 0 评论 -
Java练习之开发一个图片查看器,只显示文件夹下所有图片类型的文件。
本关任务:小明想要开发一个图片查看器,但是他想只显示文件夹下所有图片类型的文件。你来帮小明实现这个功能吧。要求:1、实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。2、如果是文件夹则在其名字之前加上±-,若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,3、另外需要对文件进行过滤,只显示图片类型的文件,本关需要过滤的图片文件类型有:“jpg,png,bmp”,请补充完善右侧代码区中的showDirStructure(File file)函数实现本关要求的功能原创 2020-11-16 16:48:13 · 781 阅读 · 0 评论 -
Java练习之实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。
任务:实现一个文件查看器,要实现指定文件夹下所有文件以及文件夹目录结构的展示。要求:1、实现对给定文件夹目录结构的展示,并以文件名按升序排序的形式打印至控制台。2、如果是文件夹则在其名字之前加上±-,若是文件则加上–,上级目录与下级目录、下级文件用两个空格作为间隔,补充完善右侧代码区中的showDirStructure(File dir)函数实现要求的功能,其中函数参数含义如下:.dir:指定要显示的文件夹样例1输入:src/step3/root输出:样例2输入:src/step3/di原创 2020-11-16 15:40:09 · 1542 阅读 · 0 评论 -
JavaFX Scene Builder的详细下载与安装
点击下载地址:JavaFX Scene Builder下载链接进去后的页面如图:点击:这时候会要你登录或者注册Oracle账户,这一步完成之后就会出现一个安装程序:安装完成后会出现:之后,打开IntellijIdea,点击 File->Settings…然后回到界面,点击 File->Project Structure将IDEA的JDK定义为7及以上的版本点击:找到你电脑上JDK的安装路径(我的是这个)再点击 ok->ok接下来,指定Scene Builder的原创 2020-11-15 22:07:14 · 10436 阅读 · 1 评论 -
将指定文本(可以通过右侧文件目录下的src/step3/readme.txt查看)以降序的方式输出每个单词出现的次数。
为了完成本关任务,你需要掌握:1.如何统计相同单词的次数;2.如何进行排序。练习要求:将指定文本(可以通过右侧文件目录下的src/step3/readme.txt查看)以降序的方式输出每个单词出现的次数。package step3;import java.util.Map;import java.util.HashMap;import java.util.StringTokenizer;import java.util.*;public class StudentDemo{ //获取单原创 2020-11-14 15:20:54 · 484 阅读 · 0 评论 -
字符串的划分方法:split与StringTokenizer
当我们想要对一个字符串进行切分出它的一些字串的时候,我们可以使用split方法和StringTokenizer类一、lang包中的String类下的split()方法:public String[] split(String regex) public String[] split(String regex,int limit)他们都是返回一个String类型的数组,regex是指划分出字串的分隔符,limit用来控制模式应用的次数,影响所得数组的长度提示:“|”、“.”、“*”、“+”、“\原创 2020-11-13 19:56:30 · 1150 阅读 · 0 评论 -
复制文件与图像。 复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt; 复制src/st
要求:复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt;复制src/step4/input/目录下的input.jpg文件到src/step4/output/目录下,新文件命名为output.jpg。package step4;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.Fil原创 2020-11-13 09:50:34 · 1492 阅读 · 0 评论 -
本关任务:使用输入输出流读写文件。读取src/step2/input/目录下的task.txt文件信息并输出到控制台,使用Java代码将字符串learning practice写入到src/step2
本关任务:使用输入输出流读写文件。读取src/step2/input/目录下的task.txt文件信息并输出到控制台,使用Java代码将字符串learning practice写入到src/step2/output/目录下的output.txt,若文件目录不存在,则创建该目录。注意:临时字节数组需要定义长度为8位,否则会有空格。package step2;import java.io.File;import java.io.FileInputStream;import java.io.Fil原创 2020-11-13 08:47:12 · 3451 阅读 · 0 评论 -
JAVA本关任务:把给定的大文件拆分成多个小文件。
接收给定的一行字符串(如:/test/a.txt。该字符串为文件路径);把文件切分成 100k 大小的小文件(如果给定的文件大小小于 100k,大于 0 k,则不切分。如果给到的文件大小等于 0 k,抛出异常,输出提示语句:“文件大小为0,不可拆分”。另外,如果文件大小为 309 k,注意切分的子文件个数为 4 个);切分后的子文件命名为:原文件名-n (如:test.docx-3。n 代表切分后的第几个文件,从 0 开始);切分后的文件保存于原目录下。import java.io.*;impo原创 2020-11-12 21:41:57 · 1110 阅读 · 0 评论 -
Java某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程。
某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程。要求如下:使用Sysytem.in包装为字符流读取键盘输入BufferedReader对字符流进行包装。调用BufferedReader的readLine()方法每次读取一行在for循环中判断输入的密码是否为123456,如果是,则打印“恭喜你进入游戏”,并跳出循环,否则继续循环读取键盘的输入当循环完毕,密码还不正确,则打印“密码错误,结束游戏”,并调用System.exit(0)方法结束程序原创 2020-11-12 14:28:30 · 13022 阅读 · 2 评论 -
GUI小代码
package com.company;import java.util.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyListener implements ActionListener{ public void actionPerformed(ActionEvent e){ System.out.println("用户点击了按钮"); }}public原创 2020-11-10 15:15:58 · 186 阅读 · 0 评论 -
练习-Java集合类之Set的TreeSet之自定义排序规则
要求:接收给定的一行字符串(该字符串属于电话簿,包含多个电话号码,如:13545453432,13678909808); 自定义 TreeSet 的排序规则(按电话号码降序); 去除电话簿中重复的电话号码并降序输出各电话号码。// 第一步:导入相关类import java.util.*;// 第二步:自定义类实现Comparator,自定义排序规则class Telephone implements Comparator<String>{// 第三步:重写compa.原创 2020-11-07 17:56:32 · 2219 阅读 · 1 评论 -
使用 TreeSet 集合整理电话簿之自然排序
TreeSet默认是升序排列输出,取除重复元素 接收给定的一行字符串(该字符串属于电话簿,包含多个电话号码,如:13545453432,13678909808); 使用 HashSet 去除电话簿中可能存在的重复电话号码; 按升序打印去重后的电话号码。import java.util.*;public class CollTest { public static void main(String[] args) { // 第一步:接收给定的字符串原创 2020-11-07 17:25:54 · 892 阅读 · 0 评论 -
创建集合并添加给定数据(学生名),删除集合中以王开头的学生,打印剩余学生的姓名
import java.util.*;// 请在Begin-End间编写代码/********** Begin **********/// 第一步:创建CollTest类class CollTest{// 第二步:接收给定的一行字符串 public static void main(String[] args){ Scanner input=new Scanner(System.in); String str=input.nextLine();// 第三步原创 2020-11-07 16:28:54 · 1876 阅读 · 0 评论 -
使用 LinkedList 的 addFirst 方法实现字符串反转输出。
/*接收给定的字符串(如:abcde);使用 LinkedList 实现字符串反转输出。*/import java.util.LinkedList;import java.util.Scanner;import java.util.Iterator;public class CollTest {public static void main(String[] args) { Scanner input=new Scanner(System.in); // 接收给定的字符串原创 2020-11-07 16:12:52 · 1281 阅读 · 0 评论 -
java之ByteArrayInputStream 和ByteArrayOutputStream应用
一、ByteArrayInputStream是InputStream的一个子类,它可以把一个字节数组在内存中变成一个输入流(或者说,它把数组进行了包装,数组具有了流的属性,可以顺序读下去)。ByteArrayInputStream的主要特征:从字节数组中读取数据ByteArrayInputStream类的构造方法:ByteArrayInputStream(byte[] buf)//通过一个字节数组buf创建一个字节输入流对象ByteArrayInputStream(byte[] buf,int of原创 2020-10-30 10:20:26 · 1471 阅读 · 0 评论 -
InputStream \ OutputStream \ InputStreamReader \ OutputStreamWriter的区别
InputStream、OutputStream处理字节流的抽象类InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等.OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等.2.InputStreamReader OutputStreamWriter处理字符流的抽象类InputStreamReader 是字节流通向字符流的桥梁,它将字节流转换为字符流.OutputStreamWr转载 2020-10-30 07:54:09 · 229 阅读 · 0 评论 -
java之RandomAccessFile
IO流只能按照数据的先后顺序读取设备中的内容或者向设备里写入数据,但是,要想可以在文件中的任意位置开始执行读写操作要怎么做呢?所以,RandomAccessFile类应运而生了!它可以随机的从文件的任何位置开始执行读写功能。下面我们来看RandomAccessFile类的两个构造方法:1、RandomAccessFile(File file,String mode) //使用file文件,并指定访问模式mode2、RandomAccessFile(String url,String mode)//通过原创 2020-10-29 17:51:49 · 570 阅读 · 0 评论