一、获取数字中的每一位

int i = 58713;
个位 : i % 10;
十位 : i / 10 % 10;
百位 : i / 10 / 10 % 10;
千位 : i / 1000 % 10;
万位 : i / 10000 % 10;

二、元素值使用随机数生成(范围为i~j)

Random r = new Random();
int num = r.nextInt(j - i + 1) + i;

原理 : ​​r.nextInt(num)​​ 会生成0~num-1的随机数. 那么可以先生成i~j范围内的值,在依次往后移i个即可.

随机获取小写字母

Random r = new Random();
char c = (char) (r.nextInt('z' - 'a' + 1) + 'a');

案例 : 随机获取5个大小写字母

public class  CharRandom{
public static void main(String[] args) {
String str = getStr();
System.out.println(str);
}

private static String getStr() {
char[] chs = new char[5];
Random r = new Random();
for (int i = 0; i < chs.length; i++) {
chs[i] = (char)(r.nextInt('z' - 'a' + 1) + 'a');
}

int bound = r.nextInt(chs.length);
for (int i = 0; i < bound; i++) {
int j = r.nextInt(chs.length);
chs[j] = (char) (r.nextInt('Z' - 'A' + 1) + 'A');
}

return new String(chs);
}
}

三、数列求和

Java算法总结 - 从易到难_算法总结


摘自百度百科

为什么会将初中学的求和公式放在这呢? 原因很简单,如果你想要真的遇到了一个要数列求和的问题.你不使用公式的话,那么你难道真的去累加么?那将是多么的耗时!当你真正用到这公式,瞬间将和求得,心里心想简直不要太厉害. ?