1.最大公因数的快速求法
" static int gcd(int numberA, int numberB) {
return numberB == 0 ? numberA : gcd(numberB, numberA % numberB);
}"
2.
在java的多层调用方法的时候比如
"import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Fraction a = new Fraction(in.nextInt(), in.nextInt());
Fraction b = new Fraction(in.nextInt(),in.nextInt());
a.print();
b.print();
a.plus(b).print();
a.multiply(b).print();
in.close();
}
}"
中的"a.plus(b).print();"此处plus(b)返回的返回值应该是一个对象且这个对象含有一个print()方法;虽然不是很明白,但好像java中的多层调用是(a.b)之后采用(a.b)的返回值(?不知道这么准不准确)再调用.c.
3.
public class Main {
public static void main(String[] args) {
int n = 20;
System.out.print(Factorial(n));
}
public static int Factorial(int n)
{
if(n == 0)
return 1;
else
return n*Factorial(n-1);
}
}
递归的时候,n--因为是完成本条任务后在执行减法,所以很可能会带来死循环的问题啦,用的时候要注意一点.至于--n(?),好像也会有点问题,能用(n-1)就(n-1)
1) 鉴于java求整时欲生欲死,整理常用math如下:
1: java取整
a:floor向下取整
用法:Math.floor(num)
Math.floor(1.9)//1 Math.floor(-1.9)//-2
b: round四舍五入
用法:Math.round(num)实际上是等价于Math.floor(num+0.5)
Math.round(1.5)//2 Math.round(1.4)//1
Math.round(-1.4)//-1 Math.round(-1.5)//-1 Math.round(-1.6)//-2
c: ceil取不小于num的最小整数
用法: Math.ceil(num)
Math.ceil(1.4)//2 Math.ceil(1.5)//2 Math.ceil(1.6)//2
Math.ceil(-1.4)//-1 Math.ceil(-1.5)//-1 Math.ceil(-1.6)//-1
d: 神级方法直接加(int)强制转换,直接去掉小数点位,没有任何向上向下,需要时最好用的方法
2: java求绝对值
Math.abs(num)
Math.abs(-30.5)//30.5
3: java随机数
Math.random()随机去0~1的数
(int)(100*Math.random())这样就可以取0~100随机整数
4: java幂函数
Math.pow(a,b)a的b次方
Math.pow(x,2)就是平方
Math.pow(x,3)就是立方
5: java开根号
Math.sqrt(num)num的平方根
2)
java 中字符串转字符数组 toCharArray();
3)任何字符都能强制转化为int 不过转化的是ascll值 所以''1''不是1 是49
4)java当中 ,数组都是类的创建方法
比如数组,字符,字符串.都是类
1) 题目 :多线程创建1
(1 想要循环创建多个线程,线程是可以以组的形式来建立的 emmmmmm.大概就是 类名 组名[] = new 类名 组名[i]的形式.补丁1:好吧,可以以同个对象名同时创建多个线程,大概不好控制顺序;
(2 线程自带类的方法.调用的时候得首先在本类上声明异常的抛出 "throws Exception"语句
(3 线程的运算速度是有限的.如果不加上Sleep语句,就会导致最后的total语句先于各个time 语句输出来,而且循环的速度好像比线程类运算的速度快.不加Sleep 语句再次控制循环,输出顺序有点乱(x不是很清楚, 还得好好研究下)
分割字符串时候的split函数
Stringobiect split(分割符号,分割的个数)
当一项为空,返回每一个字符分割后的字符串,而个数不填,就能分多少个就分多少个;
当然还有一个配套用的函数 String.split(a,b).length 他这个返回的是分割之后子串的个数 个人是觉得很好用了
当然 分割空格的时候 分割一个或者多个空格可以用到 split("\\s")?我是看不懂了 也许以后懂
还有 charAt(i) 方法 能指定找i位置的字符