Java算法求最大最小值,倒序,冒泡排序,斐波纳契数列,日历一些经典算法
一,求最大,最小值
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和本身能除尽的数)
for (int i = 2; i <= 100; i++) {
boolean flag = true;
for (int j = 2; j < i/2+1; j++) {
if(i%j==0){
flag = false;
break;
}
}
if(flag){
System.out.print(i+" ");
}
}
三,输入一个字符串,倒着打印出来(如:abcdefg1256,打印出来是:6521gfedcba)
Scanner scanner = new Scanner(System.in);
String ss = scanner.next();
char[] a = ss.toCharArray();
char tmp = 0;
for(int i = 0; i<a.length/2;i++){
tmp = a[i];
a[i]=a[a.length-i-1];
a[a.length-i-1]=tmp;
}
String s=new String(a);
System.out.println(s);
四,斐波纳契数列(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181)
int a=0;
int b=1;
for (int i = 1; i <= 10; i++) {
System.out.print(a+" ");
a=a+b;
System.out.print(b+" ");
b=a+b;
}
五,冒泡排序
int score[] = {167,69,75,87,89,90,99,100,54,62,87,201,89,14,25,57,53,19 };
for (int i = 0; i < score.length; i++) {
for (int j = i; j < score.length; j++) {
if (score[i] > score[j]) {
int temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
System.out.print("最终排序结果:");
for (int a = 0; a < score.length; a++) {
System.out.print(score[a] + " ");
}
六,在控制台打印日历,平且标出今天
package test;
import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar; public class HelloString {
public static void main(String[] args) {
// 构建D为当前日期
GregorianCalendar d = new GregorianCalendar(); int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH); // D组为本月的开始日期
d.set(Calendar.DAY_OF_MONTH, 1); int weekday = d.get(Calendar.DAY_OF_WEEK); // 一周的第一天是星期日
int firstDayOfWeek = d.getFirstDayOfWeek(); int indent = 0;
while (weekday != firstDayOfWeek) {
indent++;
d.add(Calendar.DAY_OF_MONTH, -1);
weekday = d.get(Calendar.DAY_OF_WEEK);
} // 打印工作日的名称
String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
do {
System.out.printf("%4s", weekdayNames[weekday]);
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
} while (weekday != firstDayOfWeek);
System.out.println(); for (int i = 1; i <= indent; i++)
System.out.print(" "); d.set(Calendar.DAY_OF_MONTH, 1);
do {
// 打印的一天
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d", day); // 带*标记当前日期
if (day == today)
System.out.print("*");
else
System.out.print(" "); // 先进的第二天
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK); // 从本周开始新的一行
if (weekday == firstDayOfWeek)
System.out.println();
} while (d.get(Calendar.MONTH) == month);
// 循环退出时,D是下个月的1天 // 如果需要打印的最终行
if (weekday != firstDayOfWeek)
System.out.println();
}
}
Java算法求最大最小值,倒序,冒泡排序,斐波纳契数列,日历一些经典算法的更多相关文章
- Java算法求最大最小值,冒泡排序,斐波纳契数列一些经典算法<不断更新中>
清明在家,无聊,把一些经典的算法总结了一下. 一.求最大,最小值 Scanner input=new Scanner(System.in); int[] a={21,31,4,2,766,345,2, ...
- 算法之路(三)----查找斐波纳契数列中第 N 个数
算法题目 查找斐波纳契数列中第 N 个数. 所谓的斐波纳契数列是指: * 前2个数是 0 和 1 . * 第 i 个数是第 i-1 个数和第i-2 个数的和. 斐波纳契数列的前10个数字是: 0, 1 ...
- 斐波那契数列-java编程:三种方法实现斐波那契数列
题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列 ...
- java斐波纳契数列
//斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.-- 这个数列从第三项开始,每一项都等于前两项之和. public class DiGui { public ...
- lintcode:Fibonacci 斐波纳契数列
题目: 斐波纳契数列 查找斐波纳契数列中第 N 个数. 所谓的斐波纳契数列是指: 前2个数是 0 和 1 . 第 i 个数是第 i-1 个数和第i-2 个数的和. 斐波纳契数列的前10个数字是: 0, ...
- HDU 4639 Hehe(字符串处理,斐波纳契数列,找规律)
题目 //每次for循环的时候总是会忘记最后一段,真是白痴.... //连续的he的个数 种数 //0 1 //1 1 //2 2 //3 3 //4 5 //5 8 //…… …… //斐波纳契数列 ...
- 用PHP迭代器来实现一个斐波纳契数列(转)
斐波纳契数列通常做法是用递归实现,当然还有其它的方法.这里现学现卖,用PHP的迭代器来实现一个斐波纳契数列,几乎没有什么难度,只是把类里的next()方法重写了一次.注释已经写到代码中,也是相当好理解 ...
- 10、end关键字和Fibonacci series: 斐波纳契数列
# Fibonacci series: 斐波纳契数列 # 两个元素的总和确定了下一个数 a, b = 0, 1 #复合赋值表达式,a,b同时赋值0和1 while b < 10: print(b ...
- HDU 5914 Triangle 斐波纳契数列 && 二进制切金条
HDU5914 题目链接 题意:有n根长度从1到n的木棒,问最少拿走多少根,使得剩下的木棒无论怎样都不能构成三角形. 题解:斐波纳契数列,a+b=c恰好不能构成三角形,暴力就好,推一下也可以. #in ...
随机推荐
- Servlet是线程安全的吗?
Servlet不是线程安全的. 要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的. 当Tomcat接收到Client的HTTP请求时 ...
- 详细讲解:通过composer安装TP5.1(Thinkphp5.1)
现在TP5越来越火了,TP5也更新到了5.1版本,但是5.1以上版本只能通过composer来进行安装,那么这里贴出详细的步骤 前提:PHP版本必须要5.6以上 参考网址:http://www.thi ...
- C++ new new[]详解
精髓: operator new()完成的操作一般只是分配内存:而构造函数的调用(如果需要)是在new运算符中完成的. operator new和new 运算符是不同的,operator new只分配 ...
- BZOJ 3090: Coci2009 [podjela]
3090: Coci2009 [podjela] Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 23 Solved: 17[Submit][Statu ...
- linux下安装mysql并修改密码
删除已有mysql并重新安装mysql 查看是否已安装过mysql rpm -qa |grep -i mysql 2.移除安装的包 (在之前如果有启动mysql最好关掉服务) 使用rpm –ev 包名 ...
- 45. 腾讯面试题: 使用hashmap 插入数据,怎么样依照插入数据的顺序输出数据
题目:使用hashmap 插入数据,怎么样依照插入数据的顺序输出数据 分析: 使用hashmap插入数据,数据的顺序会改变.能够写个小程序试试. 那怎么样依照插入的顺序输出呢? 方法一: 这是我第一时 ...
- 2017.10.29 C/C++/C#程序如何打成DLL动态库
C/C++程序如何打成DLL动态库: **1.在VS中新建main.h,添加如下内容:** extern "C" _declspec(dllexport) int onLoad() ...
- Oracle 11g基础
一.打开.关闭数据库 sqlplus "/as sysdba" connect system/manager as sysdba 关闭 shutdown immediate; 打开 ...
- java设计模式——桥接模式
一. 定义与类型 定义:将抽象部分与他的具体实现部分分离,使它们都可以独立的变化,通过组合的方式建立两个类之间的联系,而不是继承 类型:结构性. 二. 使用场景 (1) 抽象和具体实现之间增加更多的灵 ...
- 子div作为遮罩层
效果图: 子div的代码: