Java基础知识+OJ题目
1. Java上课时学习的笔记
2. 自己总结的基础知识
3. 用Java刷OJ题目
肉丸不肉
这个作者很懒,什么都没留下…
展开
-
关于Java中Arrays.copyOfRange()的方法
首先引用 import java.util.*;Arrays.copyOfRange(int[] original, int from, int to)第一个参数表示源数组第二个参数表示开始位置(取得到)第三个参数表示结束位置(取不到)int a[] = new int[] { 18, 62, 68, 82, 65, 9 };int[] b = Arrays.copyOfRan...原创 2020-03-13 17:08:13 · 906 阅读 · 0 评论 -
Java中Stack和Queue的常用方法汇总
一、Stack常用方法 Stack stack = new Stack<>(); boolean empty() 测试堆栈是否为空。 E peek() 查看堆栈顶部的对象,但不从堆栈中移除它。 E pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。 E push(E item) ...原创 2020-03-13 17:02:15 · 2170 阅读 · 0 评论 -
Java集合HashSet和HashMap常用方法总结
一、HashSet集合的方法 boolean add(E e) 如果此 set 中尚未包含指定元素,则添加指定元素。 void clear() 从此 set 中移除所有元素。 Object clone() 返回此 HashSet 实例的浅表副本:并没有复制这些元素本身。 boolean contains(Object ...原创 2020-03-13 16:49:22 · 904 阅读 · 0 评论 -
Java集合List详细用法
一、常用方法List常用方法A:添加功能boolean add(E e):向集合中添加一个元素void add(int index, E element):在指定位置添加元素boolean addAll(Collection<? extends E> c):向集合中添加一个集合的元素。B:删除功能void clear():删除集合中的所有元素E remove(in...原创 2020-03-13 16:31:43 · 588 阅读 · 0 评论 -
Java集合Connection接口和Map接口
一、宏观看Java集合Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象。在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大。在Java中,集合类通常存在于java.util包中。Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口。Collection主要有...原创 2020-03-13 16:08:58 · 794 阅读 · 0 评论 -
三个整数和、积与平均值
Problem Description 给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。 Input 输入只有三个正整数a、b、c。 Output 输出一行,包括三个的和、乘积、平均数。 数据之间用一个空格隔开,其中平均数保留小数后面两位。 Sample Input 1 2 3 Sample Output 6 6 2.00错误:1 2 3Excepti...原创 2018-03-07 15:21:04 · 1627 阅读 · 0 评论 -
温度转换
Problem Description 输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9。 Input 输入数据只有一个实数,即华氏温度。 Output 输出数据只有一个,即摄氏温度,保留2位小数。 Sample Input 32.0 Sample Output 0.00import java.util.Scanner;public class M...原创 2018-03-07 15:31:32 · 259 阅读 · 0 评论 -
相似三角形
Problem Description 给出两个三角形的三条边,判断是否相似。Input 多组数据,给出6正个整数,a1,b1,c1,a2,b2,c2,分别代表两个三角形。(边长小于100且无序)Output 如果相似输出YES,如果不相似输出NO,如果三边组不成三角形也输出NO。Sample Input 1 2 3 2 4 6 3 4 5 6 8 10 3 4 5 7 8...原创 2018-03-07 19:25:40 · 200 阅读 · 0 评论 -
用JAVA做OJ时多组输入输入以EOF结束
但是对于初学java的,有一个难点,那就是题目要求以EOF结束,C、C++我们很熟悉,C语言的时候while(scanf(…)!=EOF),C++中while(cin>>?),java中怎么做呢? java中有个hasNext()函数,作用就是判断是否还有下一个元素,以CTRL+Z结束。...原创 2018-03-07 19:46:17 · 2783 阅读 · 0 评论 -
判断一个字符串是否为合法标识符
判断一个字符串是否为合法标识符 第一个字母:只能是字母,_,$ 其他字母:字母,_,$,数字(数字不能作为第一个字母) 注意:字母 = 英文字母 +汉语中的汉字等等许多其他语言中的文字 ================================== 判断一个字符是否为合法的标识符,第一个字符:Character.isJavaIdentifierStart(...原创 2018-03-08 11:07:23 · 17565 阅读 · 0 评论 -
字符统计2
Problem Description输入英文句子,输出该句子中除了空格外出现次数最多的字符及其出现的次数。 Input输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。 Output逐行输出每个句子中出现次数最多的字符及其出现的次数(如果有多个字符的次数相同,只输出ASCII码最小的字符)。 Sample InputI am a student...原创 2018-03-14 20:06:51 · 429 阅读 · 0 评论 -
传说中的数据结构
Problem Description 在大学里学习了一个学期了,大家大都对所学的专业有了基本的了解。许多同学也已经知道了到大二要开一门课叫做《数据结构》,那么今天给你们提前讲一下一个最简单的数据结构:栈。 栈的基本操作有3种:push,pop,top。例如,给你一个数列:1 2 3 4 push:向栈中加入一个数,比如push 5,数列就变成1 2 3 4 5。 pop:从栈中...原创 2018-03-14 20:21:10 · 528 阅读 · 0 评论 -
小鑫の日常系列故事(十)——排名次
Problem Description小鑫在来到SDUT之后,经过十分刻苦的学习和努力终于进入了ACM集训队。很快又一次ACM集训队的选拔就要开始了,集训队员们又忙碌了起来。他也十分幸运的被学长抓来当苦力。 o(∩_∩)o 这次学长给他分配的任务是写一个自动排名的程序,我们知道当选拔赛结束的时候,每一个参与选拔的同学都会有一个自己的分数。而集训队需要根据大家的分数排名来决定谁能够进入集训...原创 2018-03-14 20:32:21 · 643 阅读 · 0 评论 -
字符统计2(AC)
import java.util.Arrays; import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str; while...原创 2018-03-14 20:47:43 · 735 阅读 · 0 评论 -
C语言实验——打印金字塔
Problem Description输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。 Input输入只有一个正整数n。 Output打印金字塔图形,其中每个数字之间有一个空格。 Sample Input3 Sample Output 1 1 2 11 2 3 2 1错误:import java.util.Arrays;import ja...原创 2018-03-14 20:50:52 · 1348 阅读 · 2 评论 -
JAVA入门常见问题
1、 OJ平台上:public class Main{} 类名必须为Main2、OJ平台从键盘上进行多组数据输入 :Scanner类的hasNext()方法while(sc.hasnext()){}3、从键盘输入字符串 : Scanner类的next()方法 nextLine()方法 二者有区别,分隔符不同。 next(): 遇空格和回车停止输入 nextline():...原创 2018-03-08 15:25:45 · 202 阅读 · 0 评论 -
Eclipse下的快捷键
1、Alt+/ 代码自动补齐syso System.out.println();main public static void main(){}2、快速给选中内容加注释:ctrl+shift+/取消注释:ctrl+shift+\3、Eclipse下代码乱了,快速恢复标准缩进的格式 ctrl+shift+F或者 source->format...原创 2018-03-08 15:33:00 · 160 阅读 · 0 评论 -
Java基本语法学习时需要注意的几点
编写Java程序时,应注意以下几点:1、大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。2、类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。3、方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。4、源文件...原创 2018-03-08 15:39:47 · 226 阅读 · 0 评论 -
JAVA中char和string的区别
1.char表示字符,定义时用单引号,只能存储一个字符,如char c=’x’;而String表示字符串,定义时用双引号,可以存储一个或多个字符,如String name=”tom”;2.char是基本数据类型,而String 是一个类,具有面向对象的特征,可以调用方法,如name.length()获取字符串的长度。...原创 2018-03-08 15:40:59 · 6142 阅读 · 0 评论 -
Java 中 float 与 double 的区别
1.float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位2.java中默认声明的小数是double类型的,如double d=4.0如果声明: float x = 4.0则会报错,需要如下写法:float x = 4.0f或者float x = (float)4.0其中4.0f后面的f只是为...原创 2018-03-08 15:42:12 · 8896 阅读 · 1 评论 -
字符的变化
Problem Description 一个长度为n(1<=n<=1000)的字符串(只包含小写字母),然后对这个字符串进行操作,一次操作为:a->b,b->c,c->d……,z->a; 输出经过m次操作之后的字符串。(例如 abcde 经过一次操作之后变为 bcdef)。Input单组输入。测试用例的第一行为字符串s,第二行为一个整数m(0<...原创 2018-03-14 21:37:29 · 591 阅读 · 0 评论 -
最小公倍数和最大公约数
Problem Description 从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。 Input 输入包括一行。 两个以空格分开的正整数。 Output 两个整数的最小公倍数和最大公约数。 Sample Input 6 8 Sample Output 24 2import java.util.Scanner;public class Main ...原创 2018-03-14 22:20:56 · 286 阅读 · 0 评论 -
火车
Problem Description 线性王国只有一条铁路,它有n个车站,按照火车前进的方向编号1到n。在第i个车站会有Ai个乘客下车,同时会有Bi个乘客上车。火车在到达第一个车站前是空的,同样在到达最后一个车站后,车上所有的乘客都会下车,火车也会变成空的。 你的任务是计算火车的最小容量确保任何时候火车上的总人数都不会超过这个容量。注意,在每个车站,上车的乘客都是在下车乘客都下来之后才开始上...原创 2018-03-08 16:32:08 · 224 阅读 · 0 评论 -
学区房问题
Problem Description 铁牌狗在学区B有一套面积为S1平方米的房子,现在他为了让后代进化成金牌狗,决定在学区A购买一套面积为S2平方米的房子。已知学区B的房子每平方米的售价为T1,学区A的房子每平方米购价为T2,现在铁狗牌想知道卖掉学区B的房子后,还需要多少钱才能买下学区A的房子。Input多组输入。对于每组数据:输入四个整数,S1,S2,T1,T2(0 < S...原创 2018-03-08 16:56:26 · 234 阅读 · 0 评论 -
神奇的细胞(函数?递推?乘方数待解决)
Problem Description 我啸在杭州回来后,带回来一个神奇的细胞。一开始只有一个细胞,每一小时分裂一次(细胞不会死亡,神奇的细胞),也就是说在第一个小时的时候只有一个细胞,第二个小时有两个细胞,第三个小时有四个细胞…..一直分裂下去,问当第n个小时的时候有多少细胞?Input单组输入,每组输入只有一个整数n(1<=n<=20)。Output输出一行,...原创 2018-03-08 16:59:30 · 363 阅读 · 0 评论 -
蝴蝶效应
Problem Description 蝴蝶效应是气象学家洛伦兹1963年提出来的。其大意为:一只南美洲亚马孙河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可能在两周后引起美国德克萨斯引起一场龙卷风。其原因在于:蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其他系统产生相应的变化,由此引起连锁反应,最终导致其他系统的极大变化。此效应说明,事物...原创 2018-03-08 17:09:11 · 382 阅读 · 0 评论 -
判断素数(循环结构)
Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数。 如果是素数则输出”This is a prime.” 否则输出“This is not a prime.”Input 输入任意一个正整数n(1 <= n <= 1000000)。Output 判断n是否为素数,并输出判断结果: 如果n是素数则输出”This is a pri...原创 2018-03-08 17:17:18 · 1861 阅读 · 0 评论 -
求绝对值最大值
Problem Description 求n个整数中的绝对值最大的数。 Input 输入数据有2行,第一行为n,第二行是n个整数。 Output 输出n个整数中绝对值最大的数。 Sample Input 5 -1 2 3 4 -5 Sample Output -5import java.util.Scanner;public class Main { publi...原创 2018-03-08 17:28:59 · 1213 阅读 · 0 评论 -
素数
Problem Description 输出100->200之间的素数的个数,以及所有的素数。 Input 无 Output 100->200之间的素数的个数,以及所有的素数。 Sample Input Sample Output 21 101 103 … 197 199import java.util.Scanner;public class Main {...原创 2018-03-08 17:39:09 · 264 阅读 · 0 评论 -
for循环打印图形(循环结构)
* *** ************ ***** *** *import java.util.Scanner;public class Main { public static void main(String[] args) { //Scanner sc = new Scanner(System.in); for(i...原创 2018-03-08 17:53:25 · 2036 阅读 · 0 评论 -
打印菱形
Problem Description 从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。 Input 正整数n(1≤n≤9)。 Output 指定的菱形。 第一行前面有n-1个空格,第二行有n-2个空格,依此类推。 Sample Input 5 Sample Output * *** ***** **************** *******...原创 2018-03-08 17:55:25 · 170 阅读 · 0 评论 -
打印数字图形
Problem Description 从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。 Input 正整数n(1≤n≤9)。 Output 指定数字图形。 Sample Input 5 Sample Output 1 121 12321 1234321123454321 1234321 12321 121 1imp...原创 2018-03-08 18:10:53 · 1023 阅读 · 0 评论 -
最大公约数与最小公倍数
Problem Description 输入两个正整数,求它们的最大公约数与最小公倍数。Input 输入两个正整数,两个整数之间用空格分开。数据保证在 int 范围内。Output 第一行输出最大公约数; 第二行输出最小公倍数。答案保证在 int 范围内。Sample Input 64 48 Sample Output 16 192import java...原创 2018-03-08 22:01:55 · 233 阅读 · 0 评论 -
分数序列
Problem Description 有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。 Input 输入只有一个正整数n,1≤n≤10。 Output 输出该序列前n项和,结果保留小数后6位。 Sample Input 3 Sample Output 5.166667import java.util.Scanner...原创 2018-03-08 22:07:15 · 409 阅读 · 0 评论 -
类与对象——对象的组合
构造方法的快捷键:source->Generator Constructor using filed长方形类public class Rectangle { int l; int w; public Rectangle(int l, int w) { this.l = l; this.w = w; } ...原创 2018-03-15 20:08:31 · 606 阅读 · 1 评论 -
类与对象——方法的重载
方法的重载:特点:存取权限、返回值的数据类型、方法的名称都相同,区别在于参数上(参数个数不同或者参数类型不同)public int area() //求面积 { int area=l*w; return area; }public int area(int n) { return 0; }...原创 2018-03-15 20:13:15 · 281 阅读 · 0 评论 -
类与对象——方法有不定长度的参数
public int sum(int m,int s,int t,int... n)//相当于数组 { int sum=0; sum+=m; sum+=s; sum+=t; for(int i=0;i<n.length;i++) { sum+=n[i]; } return sum; } 测试: ...原创 2018-03-15 20:18:09 · 315 阅读 · 0 评论 -
类与对象——package和import
1。package——定义包,形式举例:cn.sdut.cs,必须是源代码的第一行。 注意包名内.的含义(看存储路径)2。import: 同一包下的类可以随便使用,但是 当使用到不同包里面的类时,需要使用import 导入。...原创 2018-03-15 20:27:30 · 441 阅读 · 0 评论 -
instanceof运算符
Rectangle rect1=new Rectangle();System.out.println(rect1 instanceof Rectangle); //true//二目运算符,左边是对象,右边是类。看左边的对象是否是右边类的实例,如果是,则返回true,否则,返回false...原创 2018-03-15 20:30:06 · 227 阅读 · 0 评论 -
求某个范围内的所有素数
Problem Description求小于n的所有素数,按照每行10个显示出来。 Input输入整数n(n<10000)。 Output每行10个依次输出n以内的所有素数。如果一行有10个素数,每个素数后面都有一个空格,包括每行最后一个素数。 Sample Input100 Sample Output2 3 5 7 11 13 17 19 23 29 31 ...原创 2018-03-09 19:23:49 · 1818 阅读 · 0 评论