您的位置:首页 > 编程语言 > Java开发

Java算法求最大最小值,冒泡排序,斐波纳契数列一些经典算法<不断更新中>

2014-04-06 14:42 507 查看
清明在家,无聊,把一些经典的算法总结了一下.

一、求最大,最小值

Scanner input=new Scanner(System.in);
int[] a={21,31,4,2,766,345,2,34};
//这里防止数组中有负数,所以初始化的时候给的数组中的第一个数。
int max=a[0];
int min=a[0];
for (int i = 0; i < a.length; i++) {
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}

System.out.println("最大的数是:"+max);
System.out.println("最小的值是:"+min);


二、1--100之间的质数(什么叫质数,就是只能被1和本身能除尽的数)

//因为1不是质数,所以排除在外
for (int i = 2; i < 100; i++) {
boolean a=true;
for (int j = 2; j < i/2+1; j++) {
if(i%j==0){
a=false;
break;
}
}
if(a)
System.out.print(i+"  ");
}


三、斐波纳契数列(如:1,1,2,3,5,8,11。。。)

int a=1;
int b=0;
for (int i = 1; i <= 10; i++) {
a=a+b;
System.out.print(a+" ");
b=a+b;
System.out.print(b+" ");
}


四、输入一个正整数,倒着打印出来(如:123456789,打印出来是:987654321)

Scanner input=new Scanner(System.in);
int a=input.nextInt();
for (int i = 1; i < 999; i++) {
if(a!=0){
System.out.print(a%10+" ");
a=a/10;
}else{
break;
}
}


五、冒泡排序

int score[] = { 167, 69, 75, 87, 89, 90, 99, 100 };
// 最多做n-1趟排序
for (int i = 0; i < score.length - 1; i++) {
// 对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)
for (int j = 0; j < score.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("最终排序结果:");
for (int a = 0; a < score.length; a++) {
System.out.print(score[a] + "\t");
}


先写这么多,累啊,休息休息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: