Java学习零散篇
零散记录Java学习遇到的一些有趣
诗与远方_阿范
积累点滴,创造非凡。
展开
-
SSM框架整合~~~小例子(spring+springmvc+mybatis)
对某个实体类,用ssm框架实现CRUD操作原创 2021-12-04 11:13:48 · 849 阅读 · 0 评论 -
Spring5———AOP
1、AOP的概念 AOP:面向切面的编程,在不改变原来代码的基础之上,对原有的功能进行增强。 底层的设计模式:就是代理设计模式。2、使用Spring 实现AOP(ASPECTJ) 方式一:注解(1)在resource里面,创建spring的xml文件,主要是完成二件事。 (1)对类开启注解扫描 (2)开启aspectj的自动代理<?xml version="1.0" encoding="UTF-8"?><beans ...原创 2021-11-26 10:26:22 · 845 阅读 · 0 评论 -
Spring5———IOC
1、Spring简介 Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。 目的:解决企业级的开发复杂性问题。 功能:使用的是基本的JavaBean来完成以前只可能由EJB(sun公司提出的 JAVAEE解决方案)完成的事情,Spring 提供了...原创 2021-11-25 15:31:25 · 351 阅读 · 0 评论 -
JavaWeb的文件上传(下载)
第一部分:文件的上传需要引入两个jar包:commons-fileupload 和 commons-io可以在mvn库直接下载你需要的版本,如果嫌麻烦可以直接百度网盘链接放在下面https://pan.baidu.com/s/16PrLYebyqpdjF8Y0Y_dz_g 提取密码:7nmw文件上传的三要素:1.方法必须是post提交2.enctype=multipart/form-data3.input的类型必须是file根据三要素,先写jsp的前端界面(非常简陋)..原创 2021-11-15 15:06:13 · 476 阅读 · 0 评论 -
经典的十种排序算法(java实现)
sfsa原创 2021-10-08 12:34:37 · 240 阅读 · 0 评论 -
基于jsp+ajax+servlet技术form的CRUD
功能叙述:首页如下图所示:上面的按钮分别是:获取(即查询)、删除、增加、修改查询:点击获取按钮后,即从数据库获取pojo(实体类的数据),通过ajax将得到结果展示界面。删除:需要先获取,然后在查询界面,选择你需要删除的那条数据,如果需要全部删除,则只需要点击全选,在点击删除,然后就在数据里面把数据摸掉,通过ajax返回删除是否成功。增加:点击增加,首先回显示出增加的内容框,(由于数据库设计的时候,将编号设置为主键,是随数据的增加不断增加),故在该增加菜单上面没有原创 2021-09-19 16:58:16 · 204 阅读 · 0 评论 -
使用junit的报错处理
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing解决方法: (1)换成junit-4.8.jar (2)在junit-4.8.jar这个版本之前的junit的jar包需要导入另一个jar作为依赖 junit-4.11.jar + hamcrest-core-1.3.jar可以跑到下面的网站去查询的需要jar https://mvnrepository.com/https://mvnre...原创 2021-09-15 15:54:39 · 306 阅读 · 0 评论 -
输入任意字符,统计字符个数,并按字符排序输出
例如:输入:asdgswessdfa输出:a:2d:2e:1f:1g:1s:3w:1代码如下public static void myConuts(String str) { //将字符串变成字符数组 char[] chs = str.toCharArray(); Map<Character, Integer> map = new TreeMap<Character, ...原创 2021-08-20 19:01:19 · 883 阅读 · 0 评论 -
判断101-200之间有多少个素数,并输出所有素数(问题分析)
首先要知道什么是素数?素数是能除了1和它本身整除的数大多数人会想到这么去用Java代码写这个代码public static void main(String[] args) { //题目:判断101-200之间有多少个素数,并输出所有素数 int count=0; //统计有多少个素数 for (int i = 101; i <=200 ; i++) { //循环101~200的数字 boolean flag=t..原创 2021-08-19 14:19:10 · 8998 阅读 · 2 评论 -
使用Java发送QQ邮件
类似于python(基本原理可以参考这二篇文章)https://blog.csdn.net/weixin_46098676/article/details/113750558https://blog.csdn.net/weixin_46098676/article/details/113746671废话不多说可能有些人不知道在哪里下载jar,我这里在提一句吧,下面是maven的镜像仓库地址下载地址:https://mvnrepository.com/先需要导入二个jar包ac原创 2021-08-17 07:58:26 · 179 阅读 · 0 评论 -
Java中的I/O流
1、I/O流2、Java中的输入输出的概念(IO)输入输出参考对象是程序:从键盘(文件)到程序是输入(inputstream),那么从程序到到文件就是输出(outputstream)3、字节流操作1)字节流主要操作byte类型数据,以byte数组为准,主要操作类是OutputStream类和InputStream类2)InputStream类和OutputStream类是个抽象类,不能直接进行实例化,是其它所有字节输入流的父类注意:该类的所有方法在发生错误时,都抛出IOException4、原创 2021-06-09 22:51:37 · 261 阅读 · 2 评论 -
Java小型综合型练习——汽车租赁系统
需求说明:某汽车租赁公司出租多种轿车和客车,出租费用以日为单位计算。出租车型及其信息如下:汽车类(抽象类)属性:(1)品牌(2)日租金(3)车牌号方法:抽象类方法(计算总租金):calRent(int days)轿车类(继承汽车类)属性(轿车特有的):型号宝马 ->x6/550i别克->林荫达到/GL8实现汽车类的计算总租金的方法客车类(继承汽车类)属性(客车特有的):座位金杯->16座/34座金龙->16座/34座实现汽车类的计算总租金的方法原创 2021-05-25 10:22:48 · 3998 阅读 · 2 评论 -
Java小型综合型练习——打字小游戏
需求分析:1、随着等级的增加,输入字符数增加,时间不断减少,每一次答对的得分增加。2、在规定时间内完成当前等级的输入次数,正确率达标后,则升级。六个级别3、用户错误输入一次,游戏结束。该练习需要创建四个类(玩家:play 游戏:game 级别:level 工具类:levelutils)play类属性:玩家当前等级(levelNo)玩家当前积分(currScore)当前等级开始时间(startTime)当前等级已用时间(elapsedTime)方法:玩游戏(play)上面四个属性原创 2021-05-24 22:11:06 · 1390 阅读 · 2 评论 -
Java实现简单的加密解密——小练习
加密规则:step1:将每一个字符对应的unicode编码,转换为二进制step2:不足16位,前面用0补齐例子:1100 1001 0001 00110011 0110 0100 1100分析:每四个数字为一组,前二位数字又为一小组(front),后二位数字又为另外一个小组(back)11 00加密后转换为 00 11 以此类推的到整个加密。加密代码如下:public class Encode { // 封装一个补0的方法 public static String原创 2021-05-23 17:34:25 · 610 阅读 · 0 评论 -
Java实现——求指定年份的父亲节(母亲节)是几月几号
废话不多说,直接上代码母亲节public class Mother { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入年份:"); int year = in.nextInt(); //获取当前时间 Calendar c = Calendar.getInstanc原创 2021-05-22 22:54:34 · 1668 阅读 · 0 评论 -
用Java代码实现龟兔赛跑---多线程
private static String winner; @Override public void run() { for (int i = 0; i <=100 ; i++) { //模拟兔子休息,每二十步进行休息 if (Thread.currentThread().getName().equals("兔子")&&i%5==0){ try {原创 2021-04-22 15:29:06 · 416 阅读 · 0 评论 -
下载图片理解多线程(Java)
准备工作需要导入jar————>commons-io-2.6步骤如下:step1:在idea创建lib包step2:将commons-io-2.6复制到lib包里面,然后右击选择add as library代码如下:public class TestThread01 extends Thread { private String url;//网路地址 private String name;//保存的文件名 //有参构造 public TestThre原创 2021-04-22 10:50:51 · 68 阅读 · 0 评论 -
用Java解决菲波拉契数列(三种手段)
题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?菲波拉契数列问题分析:当前数=前一项+前二项已知条件第一个月的兔子对数是:1第二个月的兔子对数是:11、数组解决public static void main(String[] args) { //菲波拉契数列问题 //1、数组解决 Scanner in = new Scanner(System.in);原创 2021-04-21 18:03:15 · 291 阅读 · 0 评论 -
如何通过Java使得字符串中所有单词首字母大写
例题:String str = "it is so easy!"; 分析:step1:发现每个单词与单词之间是通过一个空格,隔开的,那么可以通过,“ ”空格将这个大的字符串,截取成以每个单词为单位的小字符串。:代码如下: String str="it is so easy!"; String [] s = str.split(" ");step2:将每个单词,首字母与单词剩的字母分隔开for (int i = 0; i <s.length ; i++) { .原创 2021-04-15 22:49:04 · 1847 阅读 · 0 评论 -
Java中字符串经典小例题,字符串中数字之和
例题:String str = "ad45kl3mjf903f"; 求出45+3+903=951提醒:int num = Integer.parseInt(str);废话不多说,直接上代码class recode{ public void test01( String str1){ //用来存放数字相加后的结果 int sum = 0; //存放截取的数字 String numstr = ""; //链接.原创 2021-04-14 22:01:31 · 392 阅读 · 0 评论 -
Java编程例题(1-2)
1、输出9*9乘法表//打印九九乘法表 //外层for循环控制行数 for (int i = 1; i <=9 ; i++) { //内层for循环控制列数 for (int j = 1; j <=i ; j++) { System.out.print(j+"×"+i+"="+(j*i)+"\t"); } //换行原创 2021-04-10 15:45:13 · 135 阅读 · 0 评论 -
用Java打印菱形(奇数行菱形)
打印出如下图案(菱形) * ******************** *** *分析:具有最多*的一行是第四行,且有7个。将菱形看成有二个三角形组成的,上4行(第一个三角形),下3行(第二个三角形)第一行:一个*,相对于第四行来说,前面需要三个空格第二行:三个*,相对于第四行来说,前面需要二个空格............依次类推先实现上4行(第一个三角形的打印),代码如下://实现上三角...原创 2021-04-10 11:08:13 · 5467 阅读 · 1 评论 -
输入两个正整数m和n,求其最大公约数和最小公倍数(常见的错误代码分析)
(输入两个正整数m和n,求其最大公约数和最小公倍数) 错误的代码public static void main(String[] args) { // 输入2个正整数,求最大公约数和最小公倍数 // 最大公约数, 1> 第一步控制台输入 Scanner sc = new Scanner(System.in); System.out.println("请输入第一个正整数:"); int n = sc.nextInt(); System.out.println原创 2021-03-25 11:39:14 · 1764 阅读 · 0 评论 -
Java编程例题(1-1)
一、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(菲波拉契数列)public class Test001 { public static void main(String[] args) { //菲波拉契数列(兔子) //一年24个月 int M=24; //第一月、第二月的兔子数 int f1=1; in原创 2021-03-24 15:00:39 · 174 阅读 · 0 评论 -
Java---for循环例题(简单例题)
一:1~10之间的整数相加,得到累加值大于20的当前数.二:求出100以内所有能被9整除的数之和,每行显示5个数三:求1~10之间的所有偶数的平方和四:求出10的N次方的值,N为用户输入的几次方五:打印出九九乘法表六:求出100以内所有偶数的和七:输入一个整数(1~9),求该数的阶乘并输出八:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。转换关系:华氏温度 = 摄氏温度 * 9...原创 2021-03-23 18:58:31 · 3222 阅读 · 0 评论 -
运算符优先级(自增自减重点分析)
Java中的运算符的优先级如下(从上到下,从左到右):算术运算符:+,-,*,/,%,++,--赋值运算符:=扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=位运算符:&,|,~,^,<<,>>,>>>比较运算符:>,>=,<,<=,==逻辑运算符:&&,&,||,|,!,^三目运算符:?原创 2021-03-15 15:53:38 · 4688 阅读 · 0 评论 -
GUI:简易画板板(白板上画点)
实现效果如图所示:思路;1、创建一个Frame画板2、对鼠标进行监控3、要连续画点4、对画板上的点进行存储创建画板class MyFrame extends Frame{ ArrayList points;//列表存放画板上画的点 public MyFrame(String title ) { super(title); setBounds(100,100,400,300);//前二个值是画板相对屏幕的初始位置,后二位是画板的大小原创 2021-03-10 15:14:16 · 287 阅读 · 0 评论 -
GUI:简单加法算数器(小练习)
生成如下图所示(简单加法算器)**分析:需要3个文本框、一个标签“+”、一个按钮从图可以可以按照流式布局还需要对事件监听**step1:创建3个文本框、一个标签、一个按钮,并且采用流式布局 //三个文本框 num1=new TextField(10);//字符数 num2=new TextField(10);//字符数 num3=new TextField(20);//字符数 //一个按钮 Button b1=n原创 2021-03-09 21:28:12 · 420 阅读 · 0 评论 -
GUI:小练习(页面布局)
实现如下的布局思路:1、将整个面板抽象成上、下组合成的Panel2、每个Panel又是由左、中、右的BorderLayout(东西南北中布局)3、将中间抽象成一个单独Panel,在使用GridLayout(表格布局)代码实现如下:1、总面板//总面板 Frame f1=new Frame();//可以设置窗口名字 //设置Frame的大小 f1.setSize(400,300); //设置Frame的初始位 f1原创 2021-03-08 22:08:07 · 200 阅读 · 0 评论 -
GUI:Panel面板添加Frame
1、创建Frame //设置标题 Frame f1=new Frame("我的第一个Java图像界面窗口"); //设置布局 f1.setLayout(null); //重点 //设置可见性 f1.setVisible(true); //设置窗口大小 f1.setSize(600,600); //设置颜色 f1.setBackground(new Co原创 2021-03-08 21:48:16 · 548 阅读 · 0 评论 -
GUI:第一个简单图形窗口(Java)
Frame最开始肯定是需要创建Frame类,实例化具体的对象1、设置标题 Frame f1=new Frame("我的第一个Java图像界面窗口");2、设置窗口大小f1.setSize(600,600);3、设置弹窗的初始位置f1.setLocation(300,300);4、设置弹窗大小(是否改变) f1.setResizable(false);5、设置窗口的背景颜色f1.setBackground(new Color(179, 38, 164)原创 2021-03-08 21:22:25 · 246 阅读 · 0 评论 -
Java中基本数据类型(8种)占多少位及其取值范围
Java中基本数据类型(8种)整型:byte(字节)、short(短整型)、int(整型)、long(长整型)布尔:boolean(占一位,true或者false)浮点型:double(双精度)、float(单精度)字符型:char //Java中基本数据类型(8种) //整型:byte、short、int、long System.out.println("byte占"+Byte.SIZE+"位"); System.out.println("...原创 2021-03-05 21:37:15 · 1937 阅读 · 0 评论 -
如何在cmd写Java中第一个程序 Hello world
1、首先我们需要安装jdk(这里我使用的是jdk1.8)2、安装步骤:双击安装包,建议不要修改盘符(默认c盘),一直next3、检验是否安装成功 1)win+r 2)输入cmd 3)在命令框 输入 java -version出现如下图所示证明安装成功4、在桌面创建.txt文档,里面输入代码注意:文档名必须与类名一直5、将文件格式改成.java 并在命令框输入javac Hello.java ,出现下图,证明编译成功!6、运行程序 java Hello总结:javac :编译原创 2021-03-05 21:15:20 · 522 阅读 · 0 评论 -
用Java实现给定数组的查询、增加、删除、修改
给定以下数组,我们通过Java实现四个操作(查询、增加、删除、修改)int[] myArr = {14,56,21,10,9,17,62,36,11,2};1、查询(1)给定值返回序号(2)给定序号返回值(3)查询整个数组最大值、最小值(1)给定值返回序号 (通过for循环遍历数组,在通过if判断语句判断是否在该数组里面),代码如下:import java.util.Scanner;public class Test2 { public static void main(Strin原创 2021-02-17 13:25:42 · 2849 阅读 · 0 评论 -
用Java 经典排序(冒泡排序),二分法查找数据
冒泡排序(双层for循环)理解冒泡排序的原理(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。(3)针对所有的元素重复以上的步骤,除了最后一个。(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。流程图难点外层for循环主要是确定排序需要做几次才能解决的问题内层for循环主要是确定每次是解决每次需要做几次比较。例子以下列数组为例,10个数。int原创 2021-01-31 13:03:21 · 230 阅读 · 0 评论 -
Java(简单小练习)超市管理系统
一、菜单栏1、登录2、退出二、登录模块给定一个用户名以及用户密码,进行登录校验,若用户名和密码匹配(密码不小于6位),则登录系统成功,进入商品结账管理视图三、商品结账管理展示商品编号以及商品名称(商品单价视情况展示,可展示亦可不展示),要求用户输入相应的商品编号以及商品数量,效果如下图所示(提示用户是否继续购买,一直到不购买为止,则进行价格核算,输入金额,进行判断是否大于等于价格金额,来计算是否找零以及找零的金额数量并做相应的展示)四、退出功能展示菜单视图,要求用户选择,是否退出,当用户原创 2021-01-31 12:48:56 · 1283 阅读 · 0 评论 -
Java~稀疏数组
话不多说,直接上代码。。。。public classTest2 {public static voidmain(String[] args) {int[][] array1;//声明array1=new int[11][11];//创建array1[1][2]=1;array1[2][3]=2;for(int[] x:array1) {for(inty: x) {System.out.print( y+"\t");}System.out.pri...原创 2021-01-31 12:30:23 · 60 阅读 · 0 评论