JAVA学习
张三爻
沉淀
展开
-
Leetcode刷题-----反转字符串(递归、原地反转)
开始了刷leetcode题目之旅,首先刷关于递归的题目,因为自我感觉对递归的使用不熟悉刷到一个 反转字符串 的题目,就论反转字符串来说,使用非递归实现是非常容易的,不过使用递归来实现则需注意一些小细节。遇到以下问题,需注意:首先原地修改数组,需要不借助辅助数组,在原数组进行修改 char数组的初始化题目如下:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组...原创 2020-04-06 16:33:50 · 1546 阅读 · 0 评论 -
对"宁波大学OJ系统240题"中的部分ACM题的解析和算法实现
断断续续利用大概一个月的时间完成了<宁波大学OJ系统240题.pdf>中的部分题目其中只选择了一些认为比较有价值的题目进行解析和实现需要的可自取,里面的题目大部分是基础题,适合新手用来打基础有一些实现起来比较复杂的题目都在该CSDN进行解析和代码实现,有任何问题欢迎交流!相关资源:宁波大学OJ系统240题.pdf宁波大学OJ系统240题(解析,链接稍后添加)...原创 2020-03-26 20:08:20 · 743 阅读 · 0 评论 -
【ACM】折叠方阵--------算法实现
题目为:要求为:不采用递归,思路为从先从上到下,然后从左到右这块找到对应规律,具体的JAVA实现代码为: Scanner scanner = new Scanner(System.in); System.out.println("请输入值:"); int a = scanner.nextInt(); int n=s...原创 2020-03-25 16:08:31 · 763 阅读 · 0 评论 -
【ACM】一维数组元素倒置————数组中指定数据倒置
题目为:思路与草稿为:JAVA的实现代码为: Scanner scanner = new Scanner(System.in); System.out.println("请输入值:"); int n = scanner.nextInt(); int m=scanner.nextInt(); int...原创 2020-03-24 23:15:19 · 881 阅读 · 0 评论 -
Java核心技术【卷一】——学习笔记(五)
Clone:"浅拷贝"与"深拷贝"先来回忆为一个包含对象引用的变量建立副本时会发生什么。原变量和副本都是同一个对象的引用。这说明, 任何一个变量改变都会影响另一个变量。例:Employee original = new Employee("John Public", 50000);Employee copy = original ;copy.raiseSalary(lO)...原创 2020-03-22 15:46:19 · 139 阅读 · 0 评论 -
【汉诺塔问题】盘子的不停移动---汉诺塔算法的分析和实现
原问题为:注:每次只能移动一个盘子,网上现有的汉诺塔问题中有些没有这个限制条件,因而可以使用同时移动上面的n-1个盘子来求解,相对比叫简单,而本题有次限制,因此需要特别注意!图示:如果自己苦思解法,未免有些困难,因此使用现有的比较成熟的算法思想,该算法来自百度百科,具体算法与链接如下所示:算法介绍其实算法非常简单,当盘子的个数为n时,移动的次数应等于2^n –...原创 2020-03-22 15:35:17 · 2130 阅读 · 0 评论 -
JAVA的hasNext()一直为死循环!
在java中监听是否有输入一般使用hasNext()方法,但是一个问题,例如下面代码:while(scanner.hasNext()){ bu=bu.append(scanner.next()+"\r"); System.out.println(bu.toString()); }此时hasNext()便会一直循环下去,形成死...原创 2020-03-19 18:35:28 · 2562 阅读 · 1 评论 -
【快速因数分解】数论--质因数
如何分解质因数?百度的方法如下:(一)分解质因数只针对合数。(分解质因数也称分解素因数)求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的方法是先用一个合数的最小质因数去除这个合数,得出的数若是一个质数,就写成这个合数相乘形式;若是一个合数就继续按原来的方法,直至最后是一个质数 。(二)Pollard Rho因数分解1975年,John...原创 2020-03-18 17:01:38 · 1848 阅读 · 0 评论 -
ACM题目
Scanner scanner = new Scanner(System.in); System.out.println("请输入值:"); int[] sum=new int[100]; int i=0; int num=0,nums=0; while(scanner.hasNext() )...原创 2020-03-14 21:06:52 · 116 阅读 · 0 评论 -
JAVA----输入流Ctrl+z(EOF)结束
输入一些整数,按回车,然后同时按ctrl键和z键,再按回车结束输入Scanner scanner = new Scanner(System.in);JAVA读取EOF主要是靠scanner.hasNext()来判断c语言中的Ctrl+Z 在JAVA中对应的快捷键Ctrl+D ,才能读取EOF流...原创 2020-03-14 20:52:57 · 2095 阅读 · 0 评论 -
大数值:bigInteger---2^64次方
问:如果基本的整数和浮点数精度不能够满足需求,可以使用java.math包中的两个类:BigInteger和BigDecimalBigInteger in=BigInteger.valueOf(2);或者BigInteger in=new BigInteger("2");将in变量的值设为2然后再计算2^64in=in.pow(64);//乘方in=...原创 2020-03-11 18:09:51 · 862 阅读 · 0 评论 -
JAVA的字符转ASCII码
Scanner scanner=new Scanner(System.in);System.out.println("请输入一个字符:");String s=scanner.next();System.out.println(s.getBytes()[0]);关键代码在:s.getBytes()[0]原创 2020-03-06 20:57:37 · 782 阅读 · 0 评论 -
JAVA除法小数问题
4/3System.out.println(4/3);结果为:14/3.0System.out.println(4/3.0);结果为:1.3333333333333333若不想要自动取整 ,则应使用后者 4/3.0原创 2020-03-06 19:12:04 · 1179 阅读 · 0 评论 -
JAVA保留小数位数和四舍五入问题
主要使用了BigDecimal和DecimalFormat这两个主要的类:一、sum值为需要处理的小数RoundingMode.DOWN 为不执行四舍五入 BigDecimal decimal=new BigDecimal(sum).setScale(2,RoundingMode.DOWN); System.out.println(decimal);二、DecimalF...原创 2020-03-06 18:38:28 · 327 阅读 · 0 评论 -
Java核心技术【卷一】——学习笔记(六)--集合
集合构成:集合的接口:集合有两个基本接口:Collection 和 MapList 是一个有序集合,元 素 会 增 加 到 容 器 中 的 特 定 位 置。1.使用迭代器访问2.使用一个整数索引来访问Set 接口等同于 Collection 接口,不过其方法的行为有更严谨的定义。集(set) 的 add方法不允许增加重复的元素。SortedSet 和 Sorte...原创 2020-02-20 17:17:08 · 111 阅读 · 0 评论 -
Java核心技术【卷一】——学习笔记(五)--泛型(二)
定义一个泛型类,泛型的意思就是可以随意更改定义类的数据类型使用Pair<T>来进行定义Main类:package com.changsan.fanxing1;public class Main1 { public static void main(String[] args) { Pair<Integer> ss=new Pair&...原创 2020-02-20 16:48:26 · 118 阅读 · 0 评论 -
Java核心技术【卷一】——学习笔记(五)--泛型(一)
若要对某个特定类的特定关键字进行比较,可使用泛型来进行比较若要对Student类的score字段进行比较,需要对Student implements Compareable接口public class Student implements Comparable<Student> {}再override compareTo()方法,在该方法中进行编写比较代码即可@O...原创 2020-02-20 12:06:44 · 89 阅读 · 0 评论 -
Java核心技术【卷一】——学习笔记(三)
类库设计者决定将保存时间与给时间点命名分开。所以标准 Java 类库分别包含了两个类:一个是用来表示时间点的 Date 类;另一个是用来表示大家熟悉的日历表示法的 LocalDate 类。不要使用构造器来构造 LocalDate 类的对象。实际上,应当使用静态工厂方法 (factory method) 代表你调用构造器。Local Date.now()LocalDate new...原创 2020-01-07 14:41:30 · 143 阅读 · 0 评论 -
Java核心技术【卷一】——学习笔记(二)
要想通过控制台进行输人,首先需要构造一个 Scanner 对象,并与“ 标准输人流” System.in 关联。Scanner in = new Scanner(System.in);nextLine 方法将输入一行。System.out.print("What is your name? ");String name = in.nextLine();要想读取一个单词(以空白...原创 2020-01-05 15:36:17 · 141 阅读 · 0 评论 -
Java核心技术【卷一】——学习笔记(一)
Java基本数据类型:int、short、long、byte、float、double、char、boolean数据类型 字节数 byte 1 short 2 int 4 float 4 double 8 long 8 长整型:L或者l(小写的L)作为后缀 十六进制:0X 或者 0x使用final关键字指示...原创 2019-05-26 22:56:36 · 99 阅读 · 0 评论