1.100以内的质数
Example1:
public static void main(String[] args) {
//循环100以内的数
for (int n=1;n<=100;n++){
//给b初始值true
boolean b = true;
//如果循环拿到的数n不等于1,就进入下面循环
if (n != 1 ){
//i从大于1的第一个数也就是2开始,一次循环到比这个数n本身小的最大的数
//何为质数,除了1和他本身不能再被其他数整除。所以...这样循环
for (int i = 2; i < n; i++){
if (n % i == 0){//如果取余为0,也就是除了1和其本身有其他数可以乘除他,所以置为false
b = false;
//跳出当前循环,判断是否打印,并且到外面循环继续
break;
}
}
}
//如果b为true打印下面的质数
if (b){
System.out.println(n + "是质数");
}
}
}
Example2:
public class zhishu {
public static void main(String[] args) {
int[] sum = { 1, 4, 5, 6, 7, 9 };
for (int i = 0; i < sum.length; i++) {
if (checked(i, sum)) {
System.out.println("zhishu:" + sum[i]);
}
}
}
private static boolean checked(int num, int[] sum) {
for (int i = 2; i < sum[num]; i++) {
if (sum[num] % i == 0) {
return false;
}
}
return true;
}
}
2冒泡排序
Example:
public static void bubbleTest1() {
int score[] = { 68, 67, 69, 75, 87, 89, 90, 99, 100 };
for (int i = 0; i < score.length - 1; i++) { // 最多做n-1趟排序
for (int j = 0; j < score.length - i - 1; j++) { // 对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
if (score[j] < score[j + 1]) { // 把小的值交换到后面
int temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
System.out.print("第" + (i + 1) + "次排序结果:");
for (int a = 0; a < score.length; a++) {
System.out.print(score[a] + "\t");
}
System.out.println("");
}
System.out.print("最终排序结果:");
for (int a = 0; a < score.length; a++) {
System.out.print(score[a] + "\t");
}
}