package question;

import java.util.Scanner;

public class Test11_20 {

/*

* 输入一个数据n,计算斐波那契数列的第n个值 并打印所以值

* 1 1 2 3 5 8 13

* 规律一个数等于前两个数之和

*/

public void test11(){

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

int f1 = 1,f2 = 1;

int sum = 0;

//输出f1 f2

System.out.print("打印所以值:");

System.out.print(f1+" ");

System.out.print(f2+" ");

//从第三个开始,前面已经打印两个数了,所以n-2

for(int i=0; i

sum = f1+f2;

System.out.print(sum+" ");//打印所以数

f1 = f2;

f2 = sum;

}

System.out.println();

System.out.println("第n个值是:sum="+sum);//打印第n个数

/*

* 结果: 8

打印所以值:1 1 2 3 5 8 13 21

第n个值是:sum=21

*/

}

/***************************************************/

//使用递归求斐波那契数列第n个数

public int test12(int n){

if(n==1||n==2){

return 1;

}else{

return test12(n-1)+test12(n-2);

}

}

/***************************************************/

/*

* 求1-1/3+1/5-1/7+1/9.....的值

*/

public void test13(){

double sum=1;//作为第一个数1

double fz = -1.0;//作为第二个数的分子

double fm = 3.0;//第二个数的分母

for(int i=0; i<20; i++){

sum = sum+fz/fm;

fz *= -1;//下一次运算将分子变为相反数

fm += 2; //分母每次加2

}

System.out.println(sum);

}

/***************************************************/

/*

*在屏幕上打印出n行的金字塔图案

* *

* ***

* *****

*/

public void test14(){

for(int i=1; i<10; i++){

for(int j=0; j<10-i; j++){

System.out.print(" ");

}

for(int k=0; k<2*i-1; k++){

System.out.print("*");

}

System.out.println();

}

}

/***************************************************/

/*

* 歌巴德猜想,任何一个大于6的偶数都可以拆分成两个质数的和

* 打印所有的可能

*/

//是否是质数

private boolean isPrime(int n){

if(n==1){

return false;

}

for(int i=2; i<=Math.sqrt(n); i++){

if(n%i==0){

//System.out.println(i);

return false;

}

}

return true;

}

//

public void test15(){

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();//n大于6 且是偶数,

if(n%2!=0){

System.out.println("不能为奇数");

return;

}

if(n<6){

System.out.println("不能小于6");

return;

}

for(int i=3; i

if(isPrime(i)&&isPrime(n-i)){//都不为质数时

System.out.println(i+"+"+(n-i)+"="+n);//打印所有的可能

}

}

}

/***************************************************/

/*

* 定义一个int型的数组,包含十个元素分别赋一些随机数,然后求出所有元素的最大值

* 最小值,平均值,和值,并输出出来

*/

public void test16(){

int[] arr = new int[10];

System.out.println("以下是十个随机数!");

for(int i=0; i<10; i++){

//随机生成十个数 介于0到100

arr[i] = (int)(Math.random()*100);

}

for(int i=0; i<10; i++){

System.out.print(arr[i]+" ");

}

System.out.println();//换行

System.out.println("和等于:"+sum(arr));

System.out.println("平均值等于:"+sum(arr)/10);

sort(arr);

System.out.println("最大值"+arr[arr.length-1]);

System.out.println("最小值:"+arr[0]);

/*以下是十个随机数!

4 87 68 7 88 84 40 4 20 47

和等于:449

平均值等于:44

最大值88

最小值:4

*/

}

//求和

private int sum(int[] a){

int sum = 0;//求数组和

for(int i=0; i

sum+=a[i];

}

return sum;

}

//冒泡排序 升序

private void sort(int[] arr){

for(int i=0; i

for(int j=i; j

if(arr[j]

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

}

/*****************************************/

/*

* 定义一个一维数组 包含十个元素,分别赋值1到10,然后将数组中的元素向前

* 移动一个位置a[0]=a[1]...最后一个数等于a[0]

*/

public void test17(){

int[] arr = new int[10];

System.out.println("以下是十个随机数!");

for(int i=0; i<10; i++){

//随机生成十个数 介于0到10

arr[i] = (int)(Math.random()*10);

}

//打印随机生成的元素

for(int i=0; i<10; i++){

System.out.print(arr[i]+" ");

}

System.out.println();//换行

System.out.println("移动后的元素:");

int temp = arr[0];//保存第一个数

for(int j=0; j

arr[j] = arr[j+1];//把后一个数赋值给前一个

}

arr[arr.length-1] = temp;//把第一个数赋值给最后一个

//打印移动后的元素

for(int i=0; i<10; i++){

System.out.print(arr[i]+" ");

}

}

/*

运行结果:

以下是十个随机数!

8 3 1 2 7 3 6 4 1 3

移动后的元素:

3 1 2 7 3 6 4 1 3 8

*/

/*******************************************/

/*

* 将一个数组中的数据倒过来排,

* 例如:1 2 3 4 5 6 倒过来 6 5 4 3 2 1

*/

public void test18(){

int[] arr = new int[10];

int[] newArr = new int[10];

System.out.println("以下是十个随机数!");

for(int i=0; i<10; i++){

//随机生成十个数 介于0到10

arr[i] = (int)(Math.random()*10);

}

//打印随机生成的元素

for(int i=0; i<10; i++){

System.out.print(arr[i]+" ");

}

//将生成数组的元素的最后一个赋值给第一个,倒数第二个给第二个,以此类推

for(int i=9; i>=0; i--){

newArr[9-i] = arr[i];

}

System.out.println();//换行

for(int i=0; i<10; i++){

System.out.print(newArr[i]+" ");

}

}

/* 打印结果:

* 以下是十个随机数!

5 0 8 4 2 1 3 5 7 6

6 7 5 3 1 2 4 8 0 5

*/

/*************************************************/

/*

* 定义一个int数组a,包含100个元素,保存100个随机的4位数

* 再定义一个int数组b,包含十个元素,统计a数组中的元素对10

* 求余等于0的个数,保存到b[0]中,余数等于1保存到吧[1]中,以此类推

*/

public void test19(){

int[] a = new int[100];

int[] b = new int[10];

System.out.println("以下是100个随机数!");

for(int i=0; i

//随机生成十个数 介于0到10

a[i] = (int)(Math.random()*9000+1000);//1000~10000

}

int sum = 0;

for(int i=0; i

for(int j=0; j

if(a[j]%10==i){

sum++;

}

}

b[i] = sum;

sum=0;//取余完所有i之后将sum=0,重新计算

System.out.print("b["+i+"]"+"="+b[i]+" ");

}

}

// 运行结果 :b[0]=11 b[1]=6 b[2]=12 b[3]=14 b[4]=6 b[5]=10 b[6]=9 b[7]=10 b[8]=10 b[9]=12

/****************************************************************/

/**

* 打印一个○

*/

public void test20(){

for(int i=0; i<30; i++){

for(int j=0; j<30; j++){

//半径为5 圆公式 x^2+y^2 = r^2

if(((i-10)*(i-10)+(j-10)*(j-10))==25){

System.out.print(" * ");

}else{

System.out.print(" ");

System.out.print(" ");

}

}

System.out.println();

}

}

/*运行结果

*

* *

* *

* *

* *

* *

*

*/

public static void main(String[] args) {

Test11_20 t = new Test11_20();

t.test20();

}

}

java if经典程序_java经典程序(11-20)相关推荐

  1. java if经典程序_java经典程序题15道(另附自己做的答案)

    [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1, ...

  2. 经典的java程序_Java经典程序

    } } } ----------------- 结果: A B D C B D C B ----------------- 2.写出程序运行结果 import java.lang.StringBuff ...

  3. java经典程序_java经典程序编程知识(二)

    static修饰的属性和方法在类初始化时加载,非静态属性和方法在对象初始化时加载. "\n"表示换行 一个数能表示成某个数的平方的形式,则称这个数为完全平方数.完全平方数是非负数. ...

  4. java string逆序_java经典入门算法题,java初学者必备

    java经典入门算法题 开头求关注警告 喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资 料的也可以私信我! 祝关注我的人都:身体健康,财源广进,福如东海,寿比 ...

  5. java求公式例题_JAVA经典算法40题

    1: JAVA经典算法40题 2: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3 ...

  6. java 中适配器原理_Java经典设计模式中关于适配器模式原理以及用法详解

    这篇文章主要介绍了Java经典设计模式之适配器模式,简单说明了适配器模式的概念.原理,并结合实例形式分析了java适配器模式的用法与相关注意事项,需要的朋友可以参考下 本文实例讲述了Java经典设计模 ...

  7. java冒泡遍历对象_Java经典排序算法(冒泡、选择、插入)

    排序算法说明 排序说明 对一序列对象根据某个关键字进行排序. 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面: 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b ...

  8. java小程序_Java小程序

    java小程序 An applet is a special kind of Java program that runs in a Java enabled browser. This is the ...

  9. java 1000个线程_java,一个程序建立1000个线程,每一个线程加1到一个变量sum。

    1.程序建立1000个线程,有可能造成系统创建大量线程而导致消耗完系统内存,还会增加创建和销毁线程上所花的时间以及系统资源的开销 2.在创建线程数多的情况下,可以考虑使用线程池 以下是Java自带的几 ...

最新文章

  1. 一种互补间歇振荡器工作电压
  2. springboot分页展示功能_springboot+vue实现分页功能
  3. mysql deadlock found when trying to get lock 问题排查
  4. 静态原型设计 加载中_见解1:原型设计有助于填补静态设计留下的空白。
  5. 用友未获得服务器信息,客户端查询银行日记账没有数据出现,其他客户端和服务器正常...
  6. socket用起始码分割_编码器基础——格雷码的编码美学
  7. matlab虚拟变量,不要再稀里糊涂的做回归了:如何设置哑变量
  8. Linux和Windows中下载FFmpeg
  9. 仓储物流系统初级架构
  10. Django搭建个人博客之编写博客文章的Model模型
  11. 《父与子的编程之旅——Python》(一)序章-第一章-第二章
  12. obj-c编程11:内存管理和ARC(自动引用计数)
  13. 【你知道路由重分布吗】
  14. Pandas 统计分析基础 笔记2 任务4.2 掌握DataFrame的常用操作
  15. 「自控元件及线路」6 无刷直流电动机
  16. 程序员去美国工作:工作在加州的华为
  17. Redis源码剖析和注释(二十四)--- Redis Sentinel实现(哨兵操作的深入剖析)
  18. 截图翻译的方法有哪些
  19. J2EE金融项目开发实战视频教程
  20. 十大iOS休闲游戏评点

热门文章

  1. JavaScript | 嵌套if的示例
  2. ctype函数_PHP ctype_xdigit()函数与示例
  3. c ++查找字符串_C ++朋友功能| 查找输出程序| 套装1
  4. python 桌面应用 启动缓慢_如何加快Python 应用的启动时间
  5. jsp管理系统页面模板_jsp+ssh(spring+struts2+hibernate)+mysql实现的高校实验室管理系统...
  6. java上传kafka的方法_哪种方法是将所有数据从Kafka主题复制到接收器(文件或Hive表)的最佳方法?...
  7. nanf flash校验_C ++中带有示例的nanf()函数
  8. Java ClassLoader findLibrary()方法与示例
  9. Java中不可或缺的59个小技巧,贼好用!
  10. Nginx For Windows Socket 端口转发