|  | 1.指数计算问题 
 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死
 ,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....(斐波那契)
 class AdditiveFor
 {
 
 public static void main(String[] ages)
 {
 int[] intar = new int[4];/* 月份*/
 intar[0] = 1;
 intar[1] = 1;
 for (int i = 0; i < intar.length; i++)
 {
 if (i>1)
 {
 intar[i] = intar[i-1]+intar[i-2];
 }
 System.out.println((i+1)+"月"+"\t"+intar[i]+"只");
 }
 }
 }
 运行结果
 1月	1只
 2月	1只
 3月	2只
 4月	3只
 
 2.指定范围包含的素数
 
 判断101-200之间有多少个素数,并输出所有素数。
 class AdditiveFor
 {
 
 public static void main(String[] ages)
 {
 int a = 200;
 for (int j = 100;j <=a;j++)
 {int flag = 0;
 //在2到max范围,找到能把n整除的值
 for (int i = 2; i < j; i++)
 {
 if (j%i==0)
 {
 
 flag = 1;
 break;
 }
 }
 if (flag ==0)
 {
 System.out.println(j+"是素数");
 }
 }
 }
 }
 运行结果
 101是素数
 103是素数
 107是素数
 109是素数
 113是素数
 127是素数
 131是素数
 137是素数
 139是素数
 149是素数
 151是素数
 157是素数
 163是素数
 167是素数
 173是素数
 179是素数
 181是素数
 191是素数
 193是素数
 197是素数
 199是素数
 
 3.水仙花数
 
 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
 。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
 class car
 {
 public static void main(String[] args)
 {
 int a,b,c;
 for(int i = 100;i<1000;i++)
 {
 c = i%10;
 b = (i/10)%10;
 a = i/100;
 if (Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
 {
 System.out.println(""+i);
 }
 }
 }
 }
 
 4.分解质因数
 
 将一个正整数分解质因数。例如:输入90,打印出90=233*5。
 import java.util.Scanner;
 
 class num
 {
 public static void main(String[] args)
 {
 System.out.println("请输入数字");
 Scanner sc = new Scanner(System.in);
 int num = sc.nextInt();
 for (int k = 2;k<num;k++)
 {
 while (k!=num)
 {
 if (num%k==0)
 {
 System.out.print(k+"*");
 num = num/k;
 }else
 {
 break;
 }
 }
 }
 System.out.print(num);
 }
 }
 请输入数字
 12
 2*2*3
 
 5.条件运算符使用
 
 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
 import java.util.Scanner;
 
 class fraction
 {
 public static void main(String args[])
 {
 Scanner sc = new Scanner(System.in);
 System.out.println("请输入你的分数");
 double fenshu = sc.nextDouble();
 if (fenshu>=90)
 {
 System.out.println(fenshu +"A");
 }else if (fenshu>=60&&fenshu<90)
 {
 System.out.println(fenshu+"B");
 }else if (fenshu<60)
 {
 System.out.println(fenshu+"C");
 }else if (fenshu>100&&fenshu<0)
 {
 System.out.println("输入无效");
 }
 }
 }
 请输入你的分数
 12
 12.0C
 
 输入两个正整数m和n,求其最大公约数和最小公倍数。
 
 import java.util.Scanner;
 
 class number
 {
 public static void main(String[] args)
 {
 System.out.println("输入两个数字");
 Scanner sc = new Scanner(System.in);
 int a = sc.nextInt();
 int b = sc.nextInt();
 int max=0,min= 0;//定义最大公约数、最小公倍数
 if (a>b)
 {int t = a;
 a = b;
 b=t;
 }
 for (int i=1;i<=a;i++)
 {
 if (a%i==0&&b%i==0)
 max = i;
 }
 min = a*b/max;
 System.out.println("最大公约数为:"+max+",最小公倍数为:"+min);
 }
 }
 输入两个数字
 72 64
 最大公约数为:8,最小公倍数为:576
 
 7.统计字符串中类型个数
 
 import java.util.Scanner;
 class character {
 public static void main(String[] args) {
 System.out.print("请输入一串字符:");
 Scanner scan = new Scanner(System.in);
 String str = scan.nextLine();//将一行字符转化为字符串
 scan.close();
 count(str);
 }
 
 private static void count(String str)
 {
 String E1 = "[\u4e00-\u9fa5]";//汉字
 String E2 = "";
 String E3 = "[0-9]";
 String E4 = "\\s";//空格
 int countChinese = 0;
 int countLetter = 0;
 int countNumber = 0;
 int countSpace = 0;
 int countOther = 0;
 char arry[] = str.toCharArray();//将字符串转化为字符数组
 String[] array_String = new String;//汉字只能作为字符串处理
 for (int i = 0;i<arry.length;i++)
 array_String[i] = String.valueOf(arry[i]);
 for(String s:array_String){
 if(s.matches(E1))
 countChinese++;
 else if(s.matches(E2))
 countLetter++;
 else if(s.matches(E3))
 countNumber++;
 else if(s.matches(E4))
 countSpace++;
 else
 countOther++;
 }
 System.out.println("输入的汉字个数:"+countChinese);
 System.out.println("输入的字母个数:"+countLetter);
 System.out.println("输入的数字个数:"+countNumber);
 System.out.println("输入的空格个数:"+countSpace);
 System.out.println("输入的其它字符个数:"+countSpace);
 }
 }
 
 8.求s=a+aa+aaa+aaaa+aa…a的值
 
 import java.util.Scanner;
 
 class Car{
 public static void main(String[] args) {
 Scanner reader=new Scanner(System.in);
 int a=0,n=0,b=0;
 System.out.println("输入a:");
 a=reader.nextInt();
 b=a;
 System.out.println("输入次数n:");
 n=reader.nextInt();
 int sum=0;//累加器
 for(int i=0;i<n;i++)
 {
 sum =sum +a;
 a=a*10;
 a = a+b;
 }
 System.out.println("sum="+sum);
 }
 }
 输入a:
 1
 输入次数n:
 3
 sum=123
 
 
 9.指定范围的完数
 
 public class Prog9{
 public static void main(String[] args){
 int n = 10000;
 compNumber(n);
 }
 //求完数
 private static void compNumber(int n){
 int count = 0;
 System.out.println(n+"以内的完数:");
 for (int i = 1; i <= 10000; i++) {
 int temp = 0;// 定义因子之和变量
 for (int n = 1; n < i / 2 + 1; n++) {
 if (i % n == 0) {
 temp += n;// 能被整除的除数则被加到temp中
 }
 }
 if (temp == i) {// 如果因子之和与原数相等的话,说明是完数
 System.out.println(i + " ");// 输出完数
 }
 }
 }
 }
 
 10.反指数计算
 
 一个球从80米高度自由落下,每次落地后反弹的高度为原高度的一半,第六次落地共经过多少米?第六次反弹多高?
 
 public class Degrees
 {
 public static void main(String[] ages)
 {
 double sum=80,
 double height=80;
 for(int i=1;i<=6;i++)//计算第一次落地到第6次落地再弹起小球经过多少米
 {
 height=height/2;
 sum=sum+height*2;
 }//循环结束,小球第6次落地
 System.out.println("第6次落地时的高度是:"+height+"\n小球共经过:"+sum+"米");
 }
 
 }
 ————————————————
 原文链接:https://blog.csdn.net/Lin_bai_/article/details/109215998
 
 
 程序猿的技术大观园:www.javathinker.net
 
 
 |  |