当前位置 博文首页 > m0_53521757的博客:java基础代码练习(一)

    m0_53521757的博客:java基础代码练习(一)

    作者:[db:作者] 时间:2021-07-15 15:35

    【例1】古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
    分析:一月 1对, 2月 1对,3月 2对,4月 3对,5月5对,6月8对,7月13对,8月 21只……
    答案:

    package com.wz.extendsdemo;
    
    import java.util.Scanner;
    
    public class Subject1 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner scanner=new Scanner(System.in);
    		System.out.println("请输入月份:");
    		int m=scanner.nextInt();
    		System.out.println(Sum(m));
    	}
    	public static int Sum(int n) {
    		if(n==1||n==2)
    			return 1;
    		else
    			return Sum(n-1)+Sum(n-2);
    	}
    }
    

    输出示例:
    在这里插入图片描述
    【例2】判断101-200之间有多少个素数,并输出所有素数。
    答案:

    package com.wz.extendsdemo;
    
    public class Sushu_2 {
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stu
    		int sum=0;
    		for(int i=101;i<=200;i++) {
    			if(sushu(i))
    			{
    			System.out.print(" "+i);
    			sum++;
     			if(sum%5==0) {
    				System.out.println();
    			}		
    			}	
    		}
    		System.out.println();
    		System.out.println("共有"+sum+"个素数");
    	}
    
        public static boolean sushu(int n) {
    		for(int i=2;i<n/2;i++) {
    			if(n%i==0)
    				return false;
    		}
    		return true;
    	}
    }
    

    输出:
    在这里插入图片描述
    【例3】打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方
    答案:

    package com.wz.extendsdemo;
    
    public class Shuxianhua_3 {
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int sum=0;
    		for(int i=100;i<=999;i++) {
    			if(shuixianhua(i)) {
    				System.out.print(" "+i);
    				sum++;
    				if(sum%5==0) {
    					System.out.println();
    				}
    			}
    		}
    		System.out.println();
    		System.out.println("共有"+sum+"个水仙花数");
    	}
    	
    	
    	public static boolean shuixianhua(int n) {
    		int a,b,c;
    		a=n%10;
    		b=n/10%10;
    		c=n/10%10;
    		if(a*a*a+b*b*b+c*c*c==n)
    			return true;
    		return false;
    	}
    }
    

    输出:
    在这里插入图片描述
    【例4】将一个正整数分解质因数。例如:输入90,打印出90=233*5。
    答案:

    package com.wz.extendsdemo;
    
    import java.util.Scanner;
    
    public class Fenjie {
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		 System.out.print("请输入需要分解因数的整数:");
    	        Scanner scanner=new Scanner(System.in);
    	        int a = scanner.nextInt();
    	        fenjie(a);
    	}
    	
    	public static void fenjie(int num) {
    		  int tmp = num/2;
    	        for(int i=2;i <= tmp ;i++){
    	            if(num%i == 0){  
    	                num = num/i;
    	                System.out.println("质因数为:"+i);
    	                i=1;     
    	                continue;
    	            }
    	        }
    
    
    	}
    }
    
    

    输出示例:
    在这里插入图片描述
    【例5】利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
    答案:

    package com.wz.extendsdemo;
    
    import java.util.Scanner;
    
    public class Subject5 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		//学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
    		System.out.println("请输入学生的成绩:");
    		Scanner scanner=new Scanner(System.in);
    		int a=scanner.nextInt();
    		String result=a>=90?"A":((a>=60&&a<=89)?"B":"C");
    		System.out.println("等级是:"+result);
    	}
    }
    

    输出示例:
    在这里插入图片描述

    cs
    下一篇:没有了