
Java
文章平均质量分 66
关于Java的题目和内容
Country Programmer
无人问津的日子里,认真沉淀自己
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
优先级队列
一、什么叫做优先级?首先队列的特性是“先进先出”,优先级队列是根据元素或者说节点的优先级进行处理,比如说在我们使用手机打游戏的时候,这时候有来电,那么系统就会优先处理来电。那么优先级队列,就是根据优先级堆对象进行操作和处理。二、三、优先级队列有很多实现方式,这里我们用堆来进行实现(这里的优先级我们用元素大小来进行表示)基本操作:(1)入队列1、先把要插入的元素放在堆的最后一个位置,堆是用数组实现的,那么就是尾插到数组;2、从该位置开始进行向上调整。(2) 出队列1、先将0号位置的元素保原创 2020-08-07 15:19:41 · 1098 阅读 · 1 评论 -
Java-检查括号合法性
一、检查括号的合法性import java.util.Stack;/** * 检查括号是否匹配 */public class StackQueueInterview { public static boolean isVaild(String str){ //先判断字符串是否为空 if(str==null){ return true; } //是左括号,入栈 //是右括号,取栈顶元素原创 2020-08-06 14:28:40 · 1147 阅读 · 0 评论 -
数据结构-队列
一、队列的特点先进先出二、用顺序表实现队列//用顺序表实现队列 (循环队列) //定义一个head头和一个尾tailpublic class MyQueue2 { public int[] array=new int[100]; public int size; public int head=0; public int tail=0; //入队列(从顺序表尾端进行插入) public void offer(int val){原创 2020-08-05 14:38:06 · 182 阅读 · 0 评论 -
数据结构-栈
一、栈的特点先进后出二、用顺序表实现栈//顺序表表尾进行插入删除操作public class myStack { int[] array = new int[100]; int size = 0;//记录栈中的元素个数 //入栈 public void push(int value) { //栈满了的话,就不能再插入元素了 if (size == array.length) { return;原创 2020-08-05 14:30:05 · 176 阅读 · 0 评论 -
Java-字符串常用方法示例
下面整理了JavaSE部分字符串的一些常用的方法:字符串是一个引用类型,字符串是不可变对象,一旦创建赋值,它的值就不能载发生变化,这些方法不修改原来的字符串,只是生成了一个新的字符串。如果需要改变字符串的话,可以使用StringBuilder或者是StringBuffer,它里面也有一些方法供我们使用。下面代码演示:public class Main { public static void main(String[] args) { //创建字符串常量,字符串是不可变对象,一旦原创 2020-08-01 23:06:28 · 169 阅读 · 0 评论 -
Java-集合
一、介绍hashMaphashMap是一个集合Collection,它是基于Map集合实现的,它存储Key-Value这样的键值对,类似于一个映射表。1、针对插入的数据,首先要根据key进行一个数学变换(把key经过一定的数学变换转成下标的过程称为“哈希函数”/“散列函数”,无论插入/删除/查找,执行之前都需计算下标,这个下标也就是哈希值。比如说:key%数组长度->数组下标key-low->数组下标2、两个相同的key,通过相同的哈希函数计算得到的hash值一定相同;3、哈希冲突:原创 2020-07-17 21:21:07 · 170 阅读 · 0 评论 -
Java-接口vs抽象类
一、接口public interface Student { /** * 这是一个学生类接口 * 接口 * 1、修饰符:interface * 2、接口中只能定义抽象方法(抽象方法是没有方法体的),不能定义普通的成员方法 * 3、接口中可以定义常量,不能定义成员变量 * 4、接口不能实例化,必须有一个类来实现它 * 5、一个类实现该接口,必须实现该接口中的方法(抽象方法)原创 2020-07-17 17:14:58 · 156 阅读 · 0 评论 -
Java-链表2
一、相交链表的起始节点public class Solution { //找两个链表的公共节点 public ListNode getIntersectionNode(ListNode headA, ListNode headB) { if (headA == null || headB == null) { return null; } int lenA = 0; int lenB = 0;原创 2020-07-17 14:25:25 · 197 阅读 · 0 评论 -
Java-链表
一、删除链表中所有值等于val的节点class Solution { public ListNode removeElements(ListNode head, int val) { //先判断链表是否为空 if(head==null){ return null; } ListNode prev=head; ListNode cur=head.next; wh原创 2020-07-16 15:33:18 · 234 阅读 · 0 评论 -
Java-maven相关文件配置
一、pow.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.原创 2020-07-12 09:30:24 · 228 阅读 · 0 评论 -
Java-深拷贝、浅拷贝
一、深拷贝、浅拷贝什么是浅拷贝?简单点说,对于简单类型来说,深拷贝拷贝的是值,对于引用类型来说,深拷贝是两个对象两个引用,内容一样浅拷贝拷贝的是地址(两个引用指向同一个对象)什么是深拷贝?二、数组拷贝数组拷贝有下面四种方法:如果数组中的值是基本类型,那么就是浅拷贝如果数组中放的是引用类型,那么就是深拷贝(1)for(2)System.arraycopy(src,0,dest,0,length)(3) Arrays.copyof(int[] original,int newleng原创 2020-07-10 13:53:27 · 199 阅读 · 0 评论 -
关于Java
一、Java的特性1、简单性:Java语法是一个纯净版本的C++语法,它没有指针、头文件、联合、操作符重载等等。2、面向对象:Java是一个面向对象的语言,在Java世界里,一切皆对象,那么什么是对象呢?先来举一个例子:“面向对象”的木匠始终关注的是所做的椅子,第二位才是工具;而一个“非面向对象”的木匠首先关注使用怎样的工具。3、分布式:Java有丰富的例程库(类似于函数库,例如系统对外提供的功能接口或者服务的集合),用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打原创 2020-07-09 17:56:27 · 229 阅读 · 0 评论 -
Java--求数字的奇数位和偶数位
1、问题给一个二进制序列,要求打印出奇数位和偶数位分别是什么2、分析比如说十进制数10再内存中存储32位,它的二进制为:0000 0000 0000 0000 0000 0000 0000 1010奇数位:0000 0000 0000 0000偶数位:0000 0000 0000 0011那么这里所用到的方法就与&运算符,和右移运算符>>那么来看一下方法的思...原创 2020-03-10 13:20:11 · 1807 阅读 · 0 评论 -
Java--调整数组元素顺序将奇数放在偶数之前
1、问题调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。2、分析怎 样来进行调整呢?1 4 2 3 6 7 5 8给两个变量,一个i指向数组的第一个元素,一个j指向数组的最后一个元素如果i是奇数,则i++;如果j是偶数,则j–;如果不是的话,那就进行交换,i++,j–i是偶数,j是奇数,就交换,则将奇数放在了偶数前面3、代码演示package demomethod0...原创 2020-03-10 13:01:11 · 586 阅读 · 0 评论 -
Java--一个整数二进制存储时1的个数
1、问题求一个整数,在内存当中存储时,二进制1的个数。2、分析14 0000 1110 1的个数为310 0000 1010 1的个数为2这里用 位运算符:与& 来解决这个问题让这个整数&1,结果为1,则这个数的二进制包含1个1,如果这个数字不为0,则右移一位,再&1,直到这个数字右移为0,则结束。在这个过程中需要一个计...原创 2020-03-10 12:27:48 · 409 阅读 · 0 评论 -
Java--猜数字游戏
1、问题程序随机产生一个数字,用户输入自己猜的数字,并且猜错之后用户可以多次输入,如果用户输入的数字大于随机数,则提示猜大了;如果用户输入的数字小于随机数,则提示猜小了;如果用户输入的数字等于随机数,则提示正确并退出程序。2、代码演示package demomethod03;import java.util.Random;import java.util.Scanner;/*...原创 2020-03-10 11:53:51 · 394 阅读 · 0 评论 -
Java--乘法口诀表
1、问题输出n*n乘法口诀表,可以自己决定n的大小2、分析双层for循环,一层i控制行,一层j控制列3、代码演示import java.util.Scanner;public class MultiplicationNum { public static void main(String[] args) { System.out.println("你想要几乘几...原创 2020-03-10 11:45:29 · 468 阅读 · 0 评论 -
Java--找只出现一次的数字
1、问题有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。2、分析:找出只出现一次的数字有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。比如说 1 3 2 4 2 1 4 只出现一次的数字就是3分析过程:(1) 先调用Arrays.sort()方法进行排序,它是进行升序排序的 1 1 2 2 3 4 4(2) for循环遍历这个数组,让...原创 2020-03-10 11:40:32 · 971 阅读 · 2 评论 -
Java--斐波那契数列
1、问题求斐波那契数列的第n项2、分析什么是斐波那契数列?1 1 2 3 5 8 13 21…从第三项开始,该项等于前两项之和。3、代码演示public class FibNumber { public static void main(String[] args) { System.out.println("请输入你要求第几项:"); Sc...原创 2020-03-10 11:35:13 · 343 阅读 · 0 评论 -
Java--求阶乘和
1、问题求1!+2!+3!+4!+…+n!的和2、阶乘如何计算?1的阶乘为1,2的阶乘等于21,3的阶乘等于321,那么n!=n(n-1)(n-2)…*13、阶乘和: 求出每一个数的阶乘再进行相加4、代码实现:package demomethod03;import java.util.Scanner;/** * 求阶乘和 * 求1!+2!+3!+4!+........+n!...原创 2020-03-10 11:01:10 · 1103 阅读 · 0 评论 -
Java-求各位上数字之和
1、问题:从键盘接收一个数字,写一个方法来求这个数字每一位上的数字之和,采用递归的方法2、分析:从键盘接受已经使用了很多次,导入Scanner类的包 java.util.Scanner如何得到这个数字的每一位,并且是用递归的方法剥离数位:比如说给一个数字%10得到的就是个位上的数字,给一个数字/10就会得到除个位以外的数字。3、代码实现在这里插入代码片package demome...原创 2020-03-09 21:23:19 · 765 阅读 · 0 评论 -
Java--方法的了解和使用
1、什么是方法呢?想法就类似于C语言当中的函数,是为了完成或者说是实现某种功能而定义的。2、使用方法的好处?(1)模块化的组织代码,使功能模块化(当代码规模比较复杂的时候);(2)方法可以重复使用,可以被多次调用,减少了代码的重复书写;(3)使用方法来实现某种功能,代码更简单;(4)在Java中有很多现有的方法,可以直接调用;(比如说数组排序的方法Arrays.sort() 调用此方...原创 2020-03-09 21:03:41 · 204 阅读 · 0 评论 -
java小练习-求最大公约数
一、问题描述从键盘接收两个数字,求其最大公约数二、分析这里用到的方法是辗转相除法1、什么是辗转相除法呢?当余数为0的时候,此时的除数就是最大公约数2、举例3、我们这里a为24、b为18,a>b,那么a<b的时候是什么样的呢?三、代码实现import java.util.Scanner;public class MaxNum {public static void...原创 2020-03-08 23:20:04 · 192 阅读 · 0 评论 -
java小练习-验证密码
一、问题描述编程模拟三次密码输入的场景,最多能输入三次密码,密码正确,提示“登陆成功”,密码错误,可以重新输入,最多输入三次,三次都错了的话,则提示退出程序二、代码实现import java.util.Scanner;import java.lang.String;public class Login {public static void main(String[] args) {...原创 2020-03-08 22:59:44 · 523 阅读 · 0 评论 -
判断一个数字是不是素数
一、问题描述从键盘接收一个数字,判断该数字是不是素数,并且可以多次输入二、分析1、什么是素数?素数也称为质数,指一个大于1的自然数只能被1和自身整除,这样的数字称为素数。不是素数的数称为合数,但1既不是素数也不是合数。2、举例3/1=1 3/3=1 3只能被自身3和1整除,除此之外它没有任何可以整除的因子,因此3就是素数;9/9=1 9/1=9 9/3=3 9不仅能被...原创 2020-03-08 22:55:14 · 1197 阅读 · 0 评论 -
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
一、问题描述计算分数的值:计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值二、分析分子都是1,分母是1、-2、3、-4、5、-6因此我们可以用一个1~100的for循环来实现,用一个flag来控制正负号的转换。比如说第一个数字分母是+1,那么flag=-flag,当循环到i等于2的时候,flag就成了-1,这样就可以了。还需要注意的是保存分式的和su...原创 2020-03-08 22:39:55 · 3164 阅读 · 0 评论 -
break和continue的区别
一、区别break:跳出所有循环,执行到break,就会让循环结束continue:跳出本次循环,进入下一层循环二、用代码来进行一下区别public class Demo {public static void main(String[] args) {//输出100~200之间,所有3的倍数int i=0;for(i=100;i<=200;i++){if(i%3!=0){...原创 2020-03-05 21:41:02 · 173 阅读 · 0 评论 -
java-字符串大小写转换
一、创建并初始化字符串对象字符串变量必须经过初始化才能使用,否则编译器会报出“变量未被初始化错误”创建对象要使用类的构造方法。toLowerCase()方法用于将大写字母转换为小写字母toUpperCase()方法用于将小写字母转换为大写字母二、代码实现import java.lang.String;//大小写字母转换public class Reverse {public sta...原创 2020-01-17 15:08:26 · 529 阅读 · 0 评论 -
java-冒泡排序
一、冒泡排序基本思想:对比相邻元素值,如果满足条件就交换元素值,把较小(较大)的元素移到数组前面,把大的(小的)元素移动到数组后面,也就是交换两个元素的位置,这样较小的元素就想气泡一样上升到顶部。二、...原创 2020-01-17 15:00:26 · 175 阅读 · 0 评论 -
Java初步学习
最近刚开始学习java,这些是对java的初步操作的练习。1、数组逆置public class Display {public static void main(String[] args) {// TODO Auto-generated method stubint arr[][]=new int[][] {{1,4,7},{2,5,8},{3,6,9}};//定义并初始化二维数组i...原创 2020-01-17 14:54:44 · 204 阅读 · 0 评论