![](https://img-blog.csdnimg.cn/20200429160216978.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java练习
记录\回顾
许攸子
Coding修炼中……
展开
-
LeetCode初级算法——数组:买卖股票的最佳时机 II
122.买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 =5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候原创 2020-08-19 21:23:22 · 351 阅读 · 0 评论 -
Java多线程联系(二):模拟在线文档编辑
学习委员在QQ群中发布了腾讯共享文档让大家填写自己的姓名和手机号码,共享文档只能有一个人在线编辑,编辑完了后又分享到群中供其他同学继续编写,直到所有人编写完毕.假设有10个人在线填写,顺序随机,请用多线程以及线程同步等思想模拟程序运行.实现代码:/** * @author xucc * @date 2020/6/12 21:55 */public class FillTest { public static void main(String[] args) { Strin原创 2020-06-13 16:32:28 · 504 阅读 · 0 评论 -
Java多线程练习(一):模拟游戏组队
编写命令行程序模拟游戏组队:①每隔1秒有一个玩家进入,并随机加入A或B队。②当A、B队人数均达到4人时,倒计时5秒,然后开始游戏。实现代码:/** * @author xucc * @date 2020/6/8 20:45 */public class Join { public static void main(String[] args) { String[] s = {"王一","小二","张三", "李四", "王五", "赵六", "小七", "老八"};原创 2020-06-13 16:26:09 · 813 阅读 · 0 评论 -
Java——显示一个模拟时钟, 使用标签显示小时、分钟和秒钟
用JavaFX做一个静态时钟,使用标签显示小时、分钟和秒钟实现代码:import javafx.application.Application;import javafx.geometry.Pos;import javafx.scene.Scene;import javafx.scene.control.Label;import javafx.scene.layout.BorderPane;import javafx.scene.layout.Pane;import javafx.scene原创 2020-05-13 16:12:44 · 1698 阅读 · 0 评论 -
Java——Intellij IDEA出现java.lang.ClassNotFoundException: com.mysql.jdbc.Driver处理办法
Intellij IDEA出现:Exception in thread “main” java.lang.ClassNotFoundException: com.mysql.jdbc.处理办法解决方法:File–>project structure–>Modules–>Dependencies–>点击右上角的+号,选择:JARs or directories–>驱动包所在找到文件目录–>添加MySQL的驱动包:mysql-connector-java-5.1.39-原创 2020-05-09 17:02:26 · 1602 阅读 · 2 评论 -
Java——获取两个字符串中最大的相同子串
获取两个字符串中最大相同子串。比如:str1 = "abcwerthelloyuiodef“str2 = “cvhellobnm”提示:将短的那个串进行长度依次递减的子串与较长 的串比较输出:hello实现代码:import java.util.ArrayList;import java.util.List;/** * 获取两个字符串中最大相同子串。比如: * str1 = "abcwerthelloyuiodef“;str2 = "cvhellobnm"//10 *原创 2020-05-09 12:33:10 · 775 阅读 · 0 评论 -
Java——某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程
某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程,并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码。线程运行后打印格式如下:编号为: 2 的员工 从后门 入场! 拿到的双色球彩票号码是: [17, 24, 29, 30, 31, 32, 07]编号为: 1 的员工 从后门 入场! 拿到的双色球彩票号码是...原创 2020-05-06 11:10:32 · 2452 阅读 · 0 评论 -
Java——有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300}
有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300};创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”,“抽奖箱2”,随机从arr数组中获取奖项元素并打印在控制台上,格式如下:抽奖箱1 又产生了一个 10 元大奖抽奖箱2 又产生了一个 100 元大奖实现代码:import jav...原创 2020-05-05 18:35:19 · 3561 阅读 · 0 评论 -
Java——Properties、IO流练习
用代码实现以下需求:(1)已知配置文件config.properties中有三个键值对name=zhangsanscore=80address=beijing(2)使用IO字节流对象和Properties类结合使用,将配置文件中的score键的值修改为100实现代码:import java.io.FileReader;import java.io.IOException;impo...原创 2020-05-04 13:44:34 · 239 阅读 · 0 评论 -
Java——集合、IO流练习
用代码实现以下需求(1)定义学生类,包含姓名(String name),性别(String gender),年龄(int age)三个属性,生成空参有参构造,set和get方法,toString方法(2)键盘录入6个学员信息(录入格式:张三,男,25),要求有两个相同的信息,将6个学员信息存入到ArrayList集合中(3)将存有6个学员信息的ArrayList集合对象写入到D:\Stude...原创 2020-05-03 22:51:16 · 372 阅读 · 0 评论 -
Java——利用转换流将GBK格式文件以UTF-8输出
利用转换流将GBK格式文件以UTF-8输出实现代码:import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public cl...原创 2020-05-03 16:21:32 · 1459 阅读 · 0 评论 -
Java——Map、IO流练习
用代码实现以下需求(1)有如下字符串"If you want to change your fate I think you must come to the dark horse to learn java"(用空格间隔)(2)打印格式:to=3 think=1 you=2 //…(3)按照上面的打印格式将内容写入到D:\count.txt文件中(要求用高效流)实...原创 2020-05-02 22:49:20 · 253 阅读 · 0 评论 -
Java——IO流、递归练习
1.键盘输入10个数,放到数组中(1)去除该数组中大于10的数(2)将该数组中的数字写入到本地文件number.txt中2.产生10个1-100的随机数,并放到一个数组中(1)把数组中大于等于10的数字放到一个list集合中,并打印到控制台。(2)把数组中的数字放到当前文件夹的number.txt文件中3.list集合添加姓名{张三,李四,王五,二丫,钱六,孙七},将二丫替换为王小丫,...原创 2020-05-02 16:44:48 · 234 阅读 · 0 评论 -
Java——1.从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到D盘下任意目录
1.从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到D盘下任意目录实现代码:import java.io.File;import java.io.FileFilter;import java.io.FileInputStream;import java.io.FileOutputStre...原创 2020-05-01 18:50:30 · 766 阅读 · 0 评论 -
Java——键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:“java”,“txt”)作为key,用个数作为value,放入到map集合中,并用两种方式遍历map集合例如:doc 的类型的文件有 3 个java 的类型的文件有 5 个txt 的类型的文件有 7 个实现代码:import java.io.File;i...原创 2020-05-01 11:23:13 · 708 阅读 · 0 评论 -
Java——aaa是文件夹,里面有bbb.txt,ccc.txt,ddd.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,打印出层级来
1.使用文件名称过滤器筛选将指定文件夹下的小于200K的小文件获取并打印。2.从键盘接收一个文件夹路径,统计该文件夹大小。3.从键盘接收一个文件夹路径,删除该文件夹。4.从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印例如:aaa是文件夹,里面有bbb.txt,ccc.txt,ddd.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,...原创 2020-05-01 11:18:33 · 2439 阅读 · 0 评论 -
Java——用户输入字符串"If~you-want~to~change-your_fate_I_think~you~must~come-to-the-dark-horse-to-learn-java"
分析以下需求,并用代码实现:(1)利用键盘录入,输入一个字符串(2)统计该字符串中各个字符的数量(3)如:用户输入字符串"Ifyou-wanttochange-your_fate_I_thinkyoumustcome-to-the-dark-horse-to-learn-java"程序输出结果:I(2)_(3)a(7)c(2)d(1)e(6)f(2)g(1)h(4)i(1)j(1)k(2...原创 2020-04-28 23:35:13 · 543 阅读 · 0 评论 -
Java——(1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age) (2)定义Map集合,用Student对象作为key
分析以下需求,并用代码实现:(1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age)(2)定义Map集合,用Student对象作为key,用字符串(此表示表示学生的住址)作为value(3)利用四种方式遍历Map集合中的内容,格式:key::value代码实现:(1)定义一个学生类Student,包含属性:姓名(String name)、年龄(...原创 2020-04-28 22:56:26 · 44675 阅读 · 0 评论 -
Java——输入某年某月, 判断这个月有多少天?
题目:键盘录入如下格式时间:2017年7月判断这个月有多少天?import java.util.Calendar;import java.util.Scanner;public class CalendarDemo { public static void main(String[] args) { String dateString = new Scanner(Syste...原创 2020-04-28 19:01:27 · 2822 阅读 · 0 评论 -
Java——(1)编写一个泛形方法,实现指定位置数组元素的交换、(2)接收一个任意数组,并反转数组中的所有元素
题目要求:(1)编写一个泛形方法,实现指定位置数组元素的交换(2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素public class HomWork {// (1)编写一个泛形方法,实现指定位置数组元素的交换 public static <T> void swap(T[] Arr , int p1,int p2) { T temp = Arr[p1];...原创 2020-04-28 18:53:57 · 1898 阅读 · 0 评论 -
Java——利用HashSet对list集合去重(最终结果:list中没有重复元素)
1、分析以下需求,并用代码实现:(1)有如下代码:public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("a"); list.add("f"); list.add("b"); list.add("c"); list.add...原创 2020-04-28 16:29:38 · 1001 阅读 · 0 评论 -
Java——将"goOd gooD stUdy dAy dAy up" 每个单词的首字母转换成大写其余还是小写字母
import java.util.StringTokenizer;/* * 将"goOd gooD stUdy dAy dAy up" 每个单词的首字母转换成大写其余还是小写字母(不许直接输出good good study day day up 要用代码实现) */public class HomeWork2 { public static void main(String[] ar...原创 2020-04-28 14:38:30 · 580 阅读 · 0 评论 -
Java——判断输入的年份是不是闰年
判断闰年有两种方法:一、用if()语句判断输入的年份:year,①如果年份:year可以整除100,则判断闰年②如果年份:year可以整除4且不能整除100,则判断为闰年二、利用日历类Calendar判断闰年①把日期设定为输入年份:year的3月1号②将设置的日期向前偏移一天,如果前一天是2月28号,则是闰年import java.util.Calendar;import ...原创 2020-04-28 14:09:29 · 4449 阅读 · 1 评论 -
Java——斐波那契数列不死神兔问题(利用BigInteger完成)
1.用循环实现不死神兔故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,问:一对刚出生的兔子,一年内繁殖成多少对兔子? 1 1 2 3 5 8 13 212.第100个月繁殖多少对兔子?(利用BigIntege...原创 2020-04-24 17:16:49 · 721 阅读 · 0 评论 -
Java——手动完成数组的增删改查实现
手动完成数组的增删改查实现import java.util.Scanner;public class ArrayExcise { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入数组的长度:"); int n = sc.next...原创 2020-04-24 14:27:51 · 213 阅读 · 0 评论 -
Java——String练习(四)(1)从键盘循环录入录入一个字符串,输入"end"表示结束(2)定义一个方法 public Object[] deleteSubString
(1)从键盘循环录入录入一个字符串,输入"end"表示结束 (2)定义一个方法 public Object[] deleteSubString(String str1,String str2) {}(3)方法功能描述:从str1中删除所有的str2,并返回删除后的结果,返回结果为Object[]数组该数组的第一个元素为删除所有的str2后的最终的字符串该数组的第二个元素为删除的st...原创 2020-04-23 16:01:47 · 880 阅读 · 0 评论 -
Java——String练习(三) (1)从键盘循环录入录入一个字符串,输入"end"表示结束 (2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数
(1)从键盘循环录入录入一个字符串,输入"end"表示结束(2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数举例:键盘录入:Hello12345World输出结果:修改后的字符串:hELLO*****wORLD总共10个字母修改后的字符串大写字母数:8个,小写字母数:2个,其他字符:5个import java.util.Scanner...原创 2020-04-23 15:41:17 · 1677 阅读 · 1 评论 -
Java——String练习(二)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推,并逐个输出
(1)定义数字字符串数组{“010”,“3223”,“666”,“7890987”,“123123”}(2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推,并逐个输出 (3)如:010 是对称的,3223 是对称的,123123 不是对称的(4)最终打印该数组中对称字符串的个数 提示:循环获取字符串的每一个字符,...原创 2020-04-23 15:13:43 · 1482 阅读 · 0 评论 -
Java——String练习(一)获取指定字符串中,另一个字符串出现的次数,并输出每次字符串出现位置的下标;首字母转成大写;获取指定字符串中,大写字母、小写字母、阿拉伯数字、其他字符的个数
题目:1、获取指定字符串中,另一个字符串出现的次数,并输出每次字符串出现位置的下标;2、将字指定符串的首字母转成大写,字符串中的其他字母转成小写;3、获取指定字符串中,大写字母、小写字母、阿拉伯数字、其他字符的个数。思路:1、获取指定字符串中,另一个字符串出现的次数,并输出每次字符串出现位置的下标思想:用indexOf()找到到字符串中到第一次出现的索引找到后,计数器++用找...原创 2020-04-23 15:07:10 · 1261 阅读 · 0 评论 -
Java基础——内部类(成员内部类、局部内部类、匿名内部类的定义和调用方式)
1、 什么是内部类将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类。其他类也称为外部类。2、内部类的分类内部类分为成员内部类与局部内部类。我们定义内部类时,就是一个正常定义类的过程,同样包含各种修饰符、继承与实现关系等。在内部类中可以直接访问外部类的所有成员。①成员内部类:1、成员内部类,定义在外部类中的成员位置。与类中的成员变量相...原创 2020-04-20 20:23:44 · 1007 阅读 · 0 评论 -
Java基础——基本类型和引用类型的定义和区别
java中的数据类型分为:基本类型 和 引用类型一、基本数据类型:Java中基本类型一共4类,把这4类展开后共8种基本类型。我们今后编写程序时使用的是这8种基本类型,这8种基本类型指定了范围。二、引用数据类型:类、接口类型、数组类型、注解类型。也可以分为a: Java为我们提供好的类,比如说:Scanner,Random,ArrayList等。b: 我们自己创建的类...原创 2020-04-19 13:52:50 · 1307 阅读 · 0 评论 -
Java——打印1-100之间的所有素数及个数
分析以下需求,并用代码实现:(封装成方法)(1)打印1-100之间的所有素数及个数(2)每行输出5个满足条件的数,之间用空格分隔注意:大于1的能被1和其本身整除的数叫素数。public class SuShu { public static void main(String[] args) { SuShu1(); SuShu2(); }/*方法一:循环遍历: * 设要判断...原创 2020-04-14 14:46:19 · 8983 阅读 · 0 评论 -
浙江大学MOOC零基础学Java第四周作业
1、素数和(5分)题目内容:我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。注意,是第n个素数到第m个素数之间的所有的素数,并不是n和m之间的所有的素数。输入格式: 两个整数,第一个表示n,第二个表示m。输出格式: 一...原创 2020-04-09 22:32:03 · 198 阅读 · 0 评论 -
浙江大学零基础学java第三周作业
1、奇偶个数(5分)题目内容:你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。输入格式:一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束。输出格式:两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格分隔。输入样例: 9 3 4 2 5 ...原创 2020-04-09 17:05:48 · 124 阅读 · 0 评论 -
浙大数据结构第一讲:1.2:什么是算法
1.2:什么是算法1.2.1:算法的定义算法定义:->一个有限指令集->接受一些输入(有些情况下不需要输入)->产生输出->一定在有限步骤之后终止->每一条指令必须:、有充分的明确的目标,不可以有歧义;、计算机能处理的范围之内;、描述应不依赖于任何一种计算机语言以及具体的实现手段;1.2.2:什么是好的算法两个衡量标准:->空间复杂度S...原创 2020-02-27 20:14:38 · 166 阅读 · 0 评论 -
浙江大学数据结构第一讲:1.1什么是数据结构
第一讲:基本概念1.1:什么是数据结构?1.1.1: 图书摆放问题:讨论:对中等规模、大规模的图书摆放,你有什么更好的建议 ?一、把图书分类:把书分为科技类、艺术类、杂志等等种类;二、每一类对应着一个字符或者汉字索引;三、利用计算机建立索引目录,对所有的书按类别,按时间出版时间、按按类别等方式进行编号;四、动态扩容:当一个类型的书达到计算机容量限度要可以扩容,达到增加书籍数量的目的;...原创 2020-02-27 20:03:11 · 750 阅读 · 0 评论