Java
文章平均质量分 53
Lilyan_blog
这个作者很懒,什么都没留下…
展开
-
Java中方法重写与方法重载的区别
一.方法重载1.方法的重载的概念定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。* 总结:“两同一不同”:同一个类、相同方法名参数列表不同:参数个数不同,参数类型不同2.构成重载的举例:举例一:Arrays类中重载的sort() / binarySearch();PrintStream中的println()举例二://如下的4个方法构成了...原创 2020-02-02 17:50:23 · 513 阅读 · 0 评论 -
关于Eclipse的常见问题以及debug功能
1.Eclipse的配置1. 双击Eclipse启动图标,不能正常启动Eclipse启动不了的原因很多种,这里需要大家从如下几个方面排查:①. 环境变量是否正确配置,需要在命令行输入javac.exe或java.exe进行检查②. 是否正确的安装了JDK和JRE③. 安装的JDK的版本(32位还是64位,必须与Eclipse版本一致④. 修改Eclipse安装目录下的eclipse.i...原创 2020-02-01 09:19:25 · 711 阅读 · 0 评论 -
Java中不定长度的参数
什么是不定长度的参数呢,就是没有规定参数的长度,可以用三个小数点意为省略的意思,比如下面代码package laojiuxuetangzhixunhuan;public class TestCanShu { public static void main(String[] args) { paramTest("参数测试",1,2,3,4,5); } public ...原创 2018-08-07 17:44:36 · 9655 阅读 · 0 评论 -
通过控制台实现的猜拳游戏(使用类的封装完成)
实现猜拳游戏的话需要的肯定是玩家类,还有就是游戏地点类,电脑人类具体代码:玩家类:public class HumanPlayer { //出拳的信息 public static final int MessageTypeFist = 1; //赢得比赛的信息 public static final int MessageTypeWin = 2; /...原创 2018-08-14 16:39:38 · 1243 阅读 · 0 评论 -
插入排序算法分析
插入排序的算法思想是我们给定一个数组,首先我们将第一个元素a[0]视为排序好的数,这里称为已排序好的数列然后,我们将数组中的第二个元素插入到已排序好的数,依次类推举例:比如一个数组存储的元素为{8,3,1,5,2,1}第一步我们假设8为已经排序号的数列第二步,然后设置一个循环从i=1开始到n-1(n是指数组中存在多少个元素),比如i=1时,我们将这个数和排序好的数字比较,如...原创 2018-08-04 15:49:39 · 263 阅读 · 0 评论 -
蓝桥杯基础练习——十六进制转十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535在Java中有一个特定的类Long,里面有一个方法Long.parseLong(s,16)就是将字符串s的十六进制转换成十进制源代码:import java.u...原创 2018-07-22 18:00:28 · 785 阅读 · 0 评论 -
Maximum Profit
最大利益:Maximum Profit计算出价格差Rj-Ri(其中j>i)的最大值输入示例:6531343输出示例:3这道题目首先我们拿到手,首先我们应该想到使用数组去做存储输入的数据,但是我们需要注意的是价格差的计算就相当于一个数组中元素相减,但是这里有一个条件必须是j>i,第一种方法,设定两个for循环forj从1到n-1...原创 2018-08-03 16:32:58 · 502 阅读 · 0 评论 -
蓝桥杯基础训练——杨辉三角
问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的...原创 2018-07-21 18:24:44 · 618 阅读 · 0 评论 -
Java中判断字符串中的元素是否重复,以及简单的加密算法
就是比如给定一个字符串比如“abcdrtyyacde”我们需要判断在这个字符串里是否出现重复的字符首先我们肯定会想到用两个循环,外层循环遍历串中的每一个字符,然后再通过内层循环从每一层外层循环后逐次判断比较是否有相同的串。代码实例public class Test1 { public static void main(String[] args) { // TODO Auto-genera...原创 2018-07-15 18:51:35 · 2560 阅读 · 0 评论 -
Java中对象的引用
Java中的对象访问,一般会涉及到Java栈、Java堆、方法区这三个内存区域。比如下面这句代码: Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个reference类型数据出现。而“...转载 2018-08-15 15:43:25 · 813 阅读 · 0 评论 -
杭电oj1002(Java)
这题目快坑爹的,我也是提交了蛮多次才通过的,首先他给数据你使用long类型是完全可以处理的但是题目曾提到过需要1000个数字组成吧,挺大的,显然他的隐藏测试数据long类型是完全不符合的,这道题目用java中的BigInteger类型可以完成,具体实现代码:import java.math.*;import java.util.Scanner;public class P1002 ...原创 2018-08-16 18:15:53 · 1107 阅读 · 0 评论 -
位运算判断一个数为奇偶数
其实位运算很强大的,因为计算机识别01(二进制代码),位运算会很高效比如我们有一个数为5我们判断他的奇偶性可以通过%2看余下的数为0或者1来确定奇偶性怎么通过位运算来判断?比如5 ,二进制代码为101我们可以通过将5与1做与运算,是吧。就是将101 与 001 进行&运算其实我们通过二进制判断奇偶的话,我们可以看该数二进制的最后一位是0的话那么就为偶数。是1的话就为...原创 2018-09-05 18:09:19 · 12920 阅读 · 1 评论 -
位运算判断一个数转为二进制后的第i位数上为0还是1
比如85的二进制为1010101.w我们要求第五位二进制位数上是0还是1,那么我们可以通过位运算符的移位操作来进行比如我们可以将85的二进制1010101与1向左移4位来做与运算就是1010101 与 0010000做与运算,看第五位是0还是1,得出这个结果,我们可以将结果0010000右移4位然后将结果与1进行比较即可代码:public class Testwei{ ...原创 2018-09-05 18:22:42 · 9453 阅读 · 4 评论 -
验证myeclipse通过jsp连接mysql数据库是否成功
首先,我们需要建立一个数据库和表比如我们create database a然后我们可以建立表这样我们就建立了一个数据库和一张表,然后我们需要实现子jsp中判断是否连接进入数据库代码:<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%><%St...原创 2018-10-07 11:16:33 · 3644 阅读 · 0 评论 -
JSP中出现Syntax error on token "else", delete this token错误原因
Syntax error on token "else", delete this token这个错误的原因是else没有和if匹配使用错误的原因是<%if........%><%=....%>这里是计算结果<%else%>这里报错了原因是这里没有检测到else和if匹配更正后:<%if........{%><%=...原创 2018-10-10 18:39:33 · 15436 阅读 · 3 评论 -
Java中将字符类型转换成各种类型
在Java中提供了字符串转换成各种类型的方法1.转换成Int型int/Integer num = Integer.parseInt(String str);2.转换成long型Long/long num = Long.parseLong(String str);3.转换成short型short/Short num = Short.parseShort(Str...原创 2018-10-10 22:12:13 · 8146 阅读 · 0 评论 -
动态数组vector简介(Java和C++)
1.概念描述:vector名为动态数组有些时候想开一个数组,但是却不知道应该开多大长度的数组合适,因为我们需要用到的数组很可能会根据情况变动。这时候我们就需要用到动态数组。所谓动态数组,也就是不定长数组,数组的长度可以根据我们需要动态改变。动态数组的实现也不难,因为在C++和Java里面已经写好了标准模板库(STL)。C++中动态数组写作vector,Java中写作ArrayList,C...原创 2018-11-02 19:17:27 · 2087 阅读 · 0 评论 -
解决通过Servlet插入数据库的中文数据乱码
1.乱码原因乱码的原因:当使用表单进行Post方式提交后接收到的乱码问题。这个问题也是一个常见的问题。这个乱码也是tomcat的内部编码格式ISO8859-1在捣乱,也就是说post提交时,如果没有设置提交的编码格式,则会以ISO8859-1方式进行提交,接受的jsp却以UTF-8的方式接受。导致乱码。2.解决方法2-1 接受参数时进行编码转换String s = new Str...原创 2018-11-11 10:21:55 · 5568 阅读 · 1 评论 -
使用Servlet实现图形验证码登录页面
1.介绍首先需要写一个生成图形验证码的Servlet:我这里的Servlet为:createImageServlet然后我们使用登录页面来验证是否能获取图形验证码。登录后通过Servlet判断用户名密码是否为张三和123(这里简单操作就不连接数据库了)登录页面:login.jsp这个页面就是一个表单判断用户名的Servlet:logCheckServlet如果用户名密码正确则请求...原创 2018-11-18 16:08:29 · 2118 阅读 · 3 评论 -
蓝桥杯基础训练题——字符串对比
基础练习 字符串对比 时间限制:1.0s 内存限制:512.0MB 问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等。比如 Beijing 和 Hebei 2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing ...原创 2018-07-20 12:45:37 · 2242 阅读 · 1 评论 -
Java中串的分割
在处理字符串中Java比C、C++更加简便,Java中提供了非常强大的String类库对字符串分割比如给定一个字符串,你需要求其中的一些子字符串“”aaa bbb,ccc,dddd“”将子字符串求出我们在Java中可以通过.length()的方法求得这个字符串的总长度,然后通过.charAt()方法求每个字符串中的字符那么这道题目我们可以通过遍历该字符串中的每个字符来求解。代码:/* * @ly...原创 2018-07-14 19:51:18 · 188 阅读 · 0 评论 -
Java怎么获取二维数组的行和列
一个二维数组如何遍历?把它当做两个一位数组来解决,比如定义一个数组int a[][],那么a.length返回的是这个数组行有多少,那么列呢,我们可以当做每一行的第一个元素.length就行了代码: int a[][] = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12} ...原创 2018-07-12 17:15:54 · 16394 阅读 · 0 评论 -
二分查找与循环查找的比较
循环查找,顾名思义,就是通过一遍遍的循环去查找对应的数,这样很费时,而且每循环一次要比较一次。代码: for(int i = 0;i<a.length;i++) { if(SearchNumber == a[i]) { System.out.println("找到了你输入的数字:"); long end = System.curre...原创 2018-07-11 13:12:01 · 1042 阅读 · 0 评论 -
比较Java中冒泡排序,选择排序,快速排序算法效率
讨论从小到大的情况,冒泡排序算法,通过对数组元素两两比较,把小的往前排,一趟冒泡排序找到一个数组中最小的,虽然没一趟比较的次数会减小,但是如果排序的数组大小很大呢,显然这个算法的效率会变得很低。算法代码:for(int i = 0;i<a.length-1;i++) { for(int j = 0;j<a.length-1-i;j++) { if(a[j]>a[j+...原创 2018-07-11 10:33:22 · 1745 阅读 · 0 评论 -
Java实现进制转换
什么是进制转换?比如说,从10进制转换成2进制,这样就是进制转换我们该怎么去实现m进制转换成n进制思想:其实进制转换没有想得那么难,在java中我们可以借助字符串来帮助我们 首先我们可以将m进制表示的数写成字符串然后将其转换成某一个常用的进制类型(比如10进制、2进制)然后再转到n进制,怎么转换成n进制呢,我们通过上述转换的进制类型对需要转换的进制依次取模运算以及除运算即可...原创 2018-07-16 18:20:35 · 2191 阅读 · 0 评论 -
用Java模拟洗扑克牌
怎么用程序去模拟洗牌呢!我们可以这样想,一副扑克牌一共有54张牌,除去大小王,那么还剩下52张牌52张牌又可以分为4种花色,每种花色对应13张牌分别为:A,1 ,2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ,J,Q,K一开始如果我们买了一副新的扑克牌,那么它会是按照顺序的,我们为了公平起见当然是要洗牌,洗的牌越乱越公平所以我们定义一个数组用来存放52张牌数组下标分别对应...原创 2018-07-10 13:10:55 · 3596 阅读 · 3 评论 -
Java解决数字黑洞问题以及字符串转换数值问题
这里我只说四位数的数字黑洞6147把一个四位数的四个数字由小至大排列,组成一个新数,又由大至小排列排列组成一个新数,这两个数相减,之后重复这个步骤,只要四位数的四个数字不重复,数字最终便会变成 6174。大概是这样去理解,是给出一个四位数,然后将这个数里面的数字重新排列求出最大值和最小值,然后相减掉直到到达6147,你会发现不管你输入的只要是四位不相同的数字那么最后结果也会是6174那么我们该怎么...原创 2018-07-16 13:56:23 · 797 阅读 · 0 评论 -
用Java做了一个猜数字游戏
用java的循环还有选择做了一个猜数字游戏,挺简单的1.首先我们要猜的数字,当然这里你可以固定一个值,也可以通过随机数产生一定范围的数,这样是比较公平的吧。用随机数产生要猜的数字Random rand = new Random(); //创建一个随机数 int GuessNumber = rand.nextInt(100)+1; //每次产生随机数1-100的需要猜测的数字2.设置一个循环,限...原创 2018-07-08 14:36:58 · 4076 阅读 · 12 评论 -
JDBC连接数据库问题之jdk1.9以及jdk10以后版本的ext问题(添加扩展包问题)
相信大家都有用JDBC连接数据库操作吧,这样来的更直观,在jdk1.9以前ext是非常实用的我们通常连接数据库Sqlserver需要下载两个驱动包,将这两个包放在jre\lib\ext目录下,这样才引入了这个包,但是在jdk1.9以后你会发现在这个路径下是找不到ext文件夹的从jdk9起lib目录的内容发生了很大变化,为什么?人家公司弄得不光没有ext文件夹,连rt.jar和tools.jar都被...原创 2018-07-08 13:43:40 · 6671 阅读 · 10 评论 -
初识正则表达式
今天看字符串的时候发现正则表达式很简便,写一下今天学到的东西首先是split()方法,这个方法大概的作用是通过空格将字符串分成若干个片段比如“aaa bbb cc”代码:public class Test5 { public static void main(String[] args) { // TODO Auto-generated method stub ...原创 2018-07-17 19:44:54 · 185 阅读 · 0 评论 -
Java实现矩阵相乘
首先我们要知道二维数组就是类似于我们线性代数中的矩阵,矩阵的乘法运算大概是这样满足条件,第一个矩阵的列数等于第二个矩阵的行数 由两个矩阵相乘的矩阵的每一个元素是由第一个矩阵每一行元素分别乘上第二个矩阵的列 对应的元素在相加 当矩阵A的列数等于矩阵B的行数时,A与B可以相乘。矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素...原创 2018-07-12 17:15:48 · 20239 阅读 · 1 评论 -
计算平方根(牛顿迭代法)
现在在大多数编程语言中已经有很多数学函数、类库等提供sqrt()方法,我们想要求平方根直接调用sqrt()就可以了在这里介绍一下牛顿迭代法算法思想:假设a。欲求a的平方根,首先猜测一个值X1=a/2,然后根据迭代公式X(n+1)=(Xn+a/Xn)/2,算出X2,再将X2代公式的右边算出X3等等,直到连续两次算出的Xn和X(n+1)的差的绝对值小于某个值,即认为找到了精确的平方根。...原创 2018-07-19 18:45:41 · 647 阅读 · 0 评论 -
用switch做了一个简单的计算器可以进行四则运算和模运算
因为jdk1.5更新后在switch选择结构中可以添加字符串这一个新特性,我们就可以switch(“”.......“”)然后通过case去匹配,这里只写了一个只能进行两位数的运算的计算器。源代码:import java.util.*;public class Day04Test03{ public static void main(String[] args){ Sc...原创 2018-07-07 16:02:32 · 21452 阅读 · 2 评论 -
Java通过枚举求找零钱问题
枚举算法是一种比较笨的办法,就是把每一种可能都试一遍,然后找出所有符合条件的解求出来找零钱这个题目:用给定的几种钱币凑成某个钱数,一般而言有多种方式。 例如:给定了6种钱币面值为2、5、10、20、50、100, 用来凑 15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。 显然,最少需要2个钱币才能凑成15元。 你的任务就是, 给定若干个互不相同的钱币面值,编程计...原创 2018-07-13 15:27:50 · 1061 阅读 · 2 评论 -
用循环模拟的简单文字拳皇对战
拳皇这个游戏相信大家都不陌生吧,我也是刚学java,还不怎么会GUI和一些组件的使用,就写了一个文字版,什么叫文字版呢,就是我通过循环以及判断模拟出拳皇两名玩家对战的情况,通过简单的循环判断实现该程序,我们假定两个玩家的初始生命值为100,每一次的攻击是产生的5-15的随机数,我们可以假定攻击<10就判断为玩家进行一次普攻,攻击>10意味着玩家开大,我在每一次进行攻击或者时开始对战以及...原创 2018-07-07 11:32:53 · 1070 阅读 · 3 评论 -
求最大公约数(欧几里得算法,辗转相除法)
如果给定两个数,要求你求出两个数的最大公约数,该怎么求?最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。我们可以通过一个递归的方法来实现源代码如下:/*/ * @ly * 欧几里得算法,求最大公约数,辗转相除法。 */import java.util.*;public class OuJiLiDe { public static int gcd(int m,i...原创 2018-07-06 19:48:57 · 1900 阅读 · 0 评论 -
java中的终止程序以及输出变色
学过C,C++的童鞋应该知道在C和C++中可以通过exit(0)终止程序,相信这个功能很实用,当需要结束这个程序,我们在Java中使用System.exit(0)也可以达到一样的情况,还有在后期编写大量应用程序时,我们可以通过System.err来将错误的输出字体变成红色。一个例题,请用户输入三次密码,三次密码都输错,没有机会在输入密码了源代码:import java.util.*;public ...原创 2018-07-06 09:51:57 · 1118 阅读 · 0 评论 -
求用户输入的整型数字的各个位数之和
如果我们不是输入一个整型数字,数字如果是固定的,比如54321,这样一个五位数,我们最先想到的是将它每一位数字求出来相加即可,个位为54321%10,十位54321/10%10,百位54321/100%10,千位54321/1000%10,最高位54321/10000,我们从这里可以看出这是知道这个数字有多少位数,如果不知道呢,我们可以先从个位开始找比如我输入的数字n,那么个位是不是n%10,十位...原创 2018-07-06 09:12:55 · 828 阅读 · 0 评论 -
计蒜客——函数规律
下面我将描述一个简单的函数:f(8)=2f(16)=1f(32)=0f(2048)=3读入一个x(1≤x≤101000),请你找出f(x)的值。输入包括一行,仅一个数字x。输出包括一行,仅一个数字f(x)。提示:f(0)=1, f(1)=0, f(2)=0, f(3)=0, f(4)=0, f(5)=0, f(6)=1, f(7)=0, f(8)=2, f(9)...原创 2018-07-23 18:20:27 · 257 阅读 · 0 评论 -
eclipse debug调试源查找路径(Source not find)问题
每个IDE工具相信都很强大,那么eclipse该怎么调试呢,如果我们遇到代码出错当然是需要通过调试解决比如运行一下代码会出错:public class DebugDemo { public static void main(String[] args) { double sum = 1; while(sum!=0) { sum...原创 2018-07-08 12:41:08 · 3227 阅读 · 0 评论