语言
蓝色海洋oO
三人行,必有我师焉
展开
-
单例模式,工厂模式
单例模式单例模式(Singleton Pattern)是Java中最简单的设计模式,是一种创建型模式,它提供了一种创建对象的最佳方式,这种模式涉及到一个单一的类来创建对象,同时确保只有一个对象被创建。这个类提供了访问其唯一对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例对象2、单例类必须自己创建自己的唯一实例3、单例类必须给其他对象提供该实例饿汉式线程安全,比较常用,但容易产生垃圾,因为一开始就初始化,没有加锁,执行效率会提高。public class Sin原创 2020-06-25 00:44:51 · 140 阅读 · 0 评论 -
Map、Set、二叉搜索树及哈希冲突解决
Map和Set:作用------用来帮助用户进行搜索的容器 || 数据结构查找方式:1、顺序查找:----->O(N)2、二分查找:----->要求:序列必须是有序的----->O(logN)静态类型查找:查找的过程中,不会再改变数据的结构----->不会再插入和删除Map和Set:动态查找Map和Set:存储元素的类型:Map:1、Map是一个接口,没有继...原创 2020-06-13 16:41:32 · 380 阅读 · 0 评论 -
代码练习心得
day01static 关键字1、修饰属性Java静态属性和类相关, 和具体的实例无关. 换句话说, 同一个类的不同实例共用同一个静态属性2、修饰方法如果在任何方法上应用 static 关键字,此方法称为静态方法。静态方法属于类,而不属于类的对象。可以直接调用静态方法,而无需创建类的实例。静态方法可以访问静态数据成员,并可以更改静态数据成员的值注意事项1: 静态方法和实例无关, ...原创 2020-03-29 10:28:40 · 404 阅读 · 0 评论 -
身份证有效验证
一、实验目的(1) 掌握异常处理程序的编写方法(2) 掌握字符的处理方法(3) 掌握数组的使用方法二、实验内容(1)编写应用程序,输入18位身份证号,判断输入的身份证号是否有效。(2)当输入的身份证号前17位出现位数不足或不全是数字时,抛出自定义异常。程序捕获该异常,并提示用户错误信息,要求用户重新输入。(3)用户验证完后,提示用户重复输入身份证号码进行新的验证。或者用户可以输入退出...原创 2020-01-13 16:00:16 · 1069 阅读 · 0 评论 -
Java内部类
内部类分为实例内部类、静态内部类、匿名内部类、本地内部类实例内部类1、实例内部类不能有静态的数据成员2、如何拿到内部类的对象3、面试问题:实例内部类是否拥有外层对象/是否有额外的开销静态内部类在内部类名前面加了一个static就是静态内部类不能直接访问在外部类中的非静态数据成员,不能直接外部类点上内部类,因为静态内部类不依赖于对象,但是可以间接访问看下面的代码:/** * 内...原创 2019-12-01 22:24:20 · 129 阅读 · 0 评论 -
Java异常
异常1、了解异常的背景认识异常在以前,我们已经认识了一些异常了例如:除以0System.out.println(10 / 0);// 执行结果Exception in thread "main" java.lang.ArithmeticException: / by zero数组下标越界int[] arr = {1, 2, 3};System.out.println(arr...原创 2019-12-01 22:09:05 · 173 阅读 · 0 评论 -
Java中的String类
认识 String 类1、创建字符串// 方式一String str = "Hello Bit";// 方式二String str2 = new String("Hello Bit");// 方式三char[] array = {'a', 'b', 'c'};String str3 = new String(array);此外,在官方文档上还有其他常用构造方法用法,如下面的:...原创 2019-11-28 13:00:01 · 309 阅读 · 0 评论 -
Java面向对象编程总结
1、 包1.1 包 (package) 是组织类的一种方式。包可以理解为其实就是文件夹(文件目录)。1.2 包的命名:通常会用公司的域名的颠倒形式。包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存储代码1.3 常见系统包:java.lang:系统常用基础类(String、Object),此包从JDK1.1...原创 2019-11-26 09:25:06 · 271 阅读 · 0 评论 -
Java数组总结
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)原创 2019-10-21 18:19:56 · 292 阅读 · 0 评论 -
青蛙跳台阶问题
青蛙跳台阶问题,说的是一个青蛙一次可以跳一个台阶或两个台阶,问我们最终跳到n台阶时共有多少种可能性?我们先考虑这个问题的结束条件,即最后只剩下1个或2个台阶时,递归可以结束。青蛙一次可以跳1台阶或2台阶,则总共有台阶n的可能性 可以由每次-1和-2的可能性函数关系列出,即f(n) = f(n - 1) + f(n -2);import java.util.Scanner;public cl...原创 2019-10-15 11:25:21 · 240 阅读 · 0 评论 -
Java中实现swap()交换两个int类型变量的值
由于Java中没有所谓的指针和引用的概念,并且Java中所有的传递都是值传递,所以以前在C中使用的方法无效,在Java中可以用数组来实现,如下:public class Test { public static int[] swap(int a,int b){ int temp = a; a = b; b = temp; ...原创 2019-10-09 19:23:51 · 1826 阅读 · 0 评论 -
使用命令行窗口运行HelloWorld程序(Java)
使用命令行窗口运行HelloWorld程序(Java)(说明:在命令窗口运行Java程序,前提要先配置好相应的环境变量,JAVA_HOME及path等环境变量)1、首先在一个文件夹下创建一个后缀是.java的文件,如图用记事本打开在里面编写程序:public class HelloWorld{ public static void main(String[] args){ Syst...原创 2019-07-15 15:19:54 · 8126 阅读 · 0 评论 -
C(11New)编程确定比赛的名次,确定凶手,杨辉三角形
1、5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。void Function1(){ int a = 0, b = 0, c = 0, d = 0, e = 0; for (a = ...原创 2019-05-05 22:24:29 · 120 阅读 · 0 评论 -
最快地求出一个数的二进制序列中有几个1
例如:数字10的二进制序列中有2个1。三种方法:#include<stdio.h>#include<windows.h>int Count_1_bits1(int x){ int count = 0; while (x) { //模2取余 if (x % 2 == 1) { count++; }...原创 2019-04-09 01:05:56 · 350 阅读 · 0 评论 -
(三子棋)C语言实现
整体构思:1、先让用户看到界面,构思用二维数组显示棋盘,这里先打印出菜单页面,让用户进行选择“游戏”或者“退出”,写一个函数实现打印菜单页面,这里可以定义一个函数ShowUI()函数打印菜单。2、菜单打印完毕之后,如何让用户进行选择,可以在main()函数中写一个判断语句判断用户的选择,例如选择1后开始玩游戏,选择0退出游戏,错误输入后提示用户输入正确的数字,并考虑玩完一局后可以选择继续玩游戏...原创 2019-04-08 19:23:55 · 306 阅读 · 0 评论 -
C语言入门题4_06(递归非递归)
1.递归和非递归分别实现求第n个斐波那契数;2.编写一个函数实现n^k,使用递归实现;3. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19;4. 编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列;要求:不能使...原创 2019-04-07 12:28:48 · 277 阅读 · 0 评论 -
“三天打鱼,两天晒网”问题
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C语言实现程序解决问题。问题分析与算法设计根据题意可以将解题过程分为三步:1)计算从2010年1月1日开始至指定日期共有多少天;2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;3)根据余数判断他是在“打鱼”还是在“晒网”;若 余...原创 2019-03-02 13:41:04 · 997 阅读 · 2 评论 -
C(19_3_09/15)素数,乘法口诀,闰年,交换两值,求最大数,最大公约数
3_091打印100~200之间的素数2输出乘法口诀表3判断1000年—2000年之间的闰年No.1打印100~200之间的素数。#include<stdio.h>#include<stdlib.h>#include<math.h>//试除法int main() { int i, j, t; //int count = 0; for ...原创 2019-03-18 16:43:00 · 186 阅读 · 0 评论 -
C(19_3_17)交换数组,求π的值,1-100整数中9的出现次数,
3_17将数组A中的内容和数组B中的内容进行交换。(数组一样大)。计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。编写程序数一下 1到 100 的所有整数中出现多少次数字9。No.1将数组A中的内容和数组B中的内容进行交换。(数组一样大)。#include<stdio.h>#include<stdlib.h>int ...原创 2019-03-18 16:49:45 · 136 阅读 · 0 评论 -
C(3_24)猜数字游戏,二分查找(BinarySearch),登陆密码判断
1、猜数字游戏#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("********************************************\n"); printf("*********** 1、猜数字 ********...原创 2019-03-25 21:34:02 · 228 阅读 · 0 评论 -
C(3_30)自定口诀表,两数交换,闰年,数组操作
1、实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出99口诀表,输入12,输出1212的乘法口诀表。#include<stdio.h>#include<windows.h>//返回值 函数名 参数列表//{// 函数体(功能)//}int multiply(int x){ for (int i = 1; i <= x; i...原创 2019-04-03 21:25:21 · 125 阅读 · 0 评论 -
求N个数字的最大公约数和最小公倍数
1、题目:求N个数的最大公约数和最小公倍数。2、算法设计思路:辗转相除法:3、具体代码#include <stdio.h> #include <malloc.h> int Gcd(int x,int y){ int b; if(x<y){ b=x; x=y; y=b; } ...原创 2019-03-23 15:00:06 · 272 阅读 · 0 评论 -
C(19_3_23)打印菱形,求水仙花数,Sn=a+aa+aaa+aaaa+aaaaa
3_231.打印菱形图案。2.求出0~999之间的所有“水仙花数”并输出。3.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和。No.1在屏幕上输出以下图案: * *** ***** ******* ***** *** *#include<stdio.h>#include<std...原创 2019-03-24 16:03:17 · 163 阅读 · 0 评论 -
C语言操作符总结
算术操作符+ - * / %这里要注意 / 操作符运算时如果两个操作数都为整数,执行整数运算,如果其中有一个操作符是浮点数,则计算出来的结果是浮点数。% 运算两个数必须都为整数,返回余数移位操作符移位运算符分为左移操作符和右移操作符<< 左移操作符左移指的是逻辑移位(一个数在内存中是以补码形式存储的)进行左移时,左边抛弃,右边补0;>&...原创 2019-04-10 14:33:35 · 160 阅读 · 0 评论 -
C(4_10)二进制中 1 的个数,二进制序列中所有的偶数位和奇数位,输出一个整数的每一位,两整数二进制中多少个位不同,
1、写一个函数返回参数二进制中 1 的个数比如: 15 0000 1111 4 个 1程序原型:int count_one_bits(unsigned int value){// 返回 1的位数}2、获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。3、输出一个整数的每一位。4、编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同...原创 2019-04-10 14:56:07 · 201 阅读 · 0 评论 -
将参数字符串中的字符反向排列(递归实现)
编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。#include<stdio.h>#include<windows.h>void reverse_string(char *p){ int len = strlen(p); char tmp = *...原创 2019-04-10 21:23:03 · 197 阅读 · 0 评论 -
汉诺塔(Hanoi)问题递归算法
/*1 A==>C 12 A==>B A==>C B==>C 33 A==>C A==>B C==>B A==>C B==>A B==>C A==>C 7464 2^64-1*/#include<stdio...原创 2019-04-10 21:29:18 · 496 阅读 · 0 评论 -
C语言Fibonacci数列求第n个数(递归非递归)
#include<stdio.h>#include<windows.h>int Fibonacci() //递归实现斐波那契数列求第n个数{ int n = 1; int fib1 = 1; int fib2 = 1; int fib = 2; printf("Please input a number:\n"); sca...原创 2019-04-07 10:00:51 · 2948 阅读 · 2 评论