关于java函数的练习题(青蛙爬井,角谷猜想等)

1:编程:一个函数,接受一个整数参数n,输出n个HelloWorld;并在main函数中调用此函数

import java.util.Scanner;
public class Main{
    public static void main(String[]args){
        num();
    }
    public static void num(){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入一个数n,我来输出n个helloworld");
        int num=input.nextInt();
        for(int i=0;i<=num;i++){
            System.out.println("helloworld");
        }
    }
}

2:编程:写一个函数,接受一个整数,输出这个整数是几位数;并在main函数中调用此函数

public static void number(){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入一个数,我来判断他是几位数");
        int num= input.nextInt();
        if(0<num&&num<10||0>num&&num>-10){
            System.out.println("是一位数");
        } else if (10<=num&&num<100||0>num&&num>-10) {
            System.out.println("是二位数");
        }else if (100<=num&&num<1000||-10>=num&&num>-100) {
            System.out.println("是三位数");
        }else if (1000<=num&&num<10000||-100>=num&&num>-1000) {
            System.out.println("是四位数");
        }else if (10000<=num&&num<100000||-1000>=num&&num>-10000) {
            System.out.println("是五位数");
        }else if (100000<=num&&num<1000000||-10000>=num&&num>-100000) {
            System.out.println("是六位数");
        }else if (1000000<=num&&num<10000000||-100000>=num&&num>-1000000) {
            System.out.println("是七位数");
        }
    }
}

3:编程:写一个函数,接受一个整数n,输出这个整数的所有因子;并在main函数中调用此函数

public static void  method_8(int n){
    for(int i=2;i<n;i++){
        if(n%i==0){
            System.out.println(i);
        }
    }
}

4:编程:写一个函数,根据传入的值x的不同,返回对应的y值,y值比x值大3

  public static void increase(){
        Scanner input=new Scanner(System.in);
        System.out.println("输入一个数我来给他加3");
        int x=input.nextInt();
        int y=0;
        y=x+3;
        System.out.println(y);
    }
}

5:编程:写一个函数,接受一个参数n,返回1--n的偶数和

public static void ouShu(int n){
    int a=0;
    for(int i=1;i<=n;i++){
        if(i%2==0){
            a+=i;
        }

    }
    System.out.println(a);
}

6:编程:写一个函数,接受一个参数n,返回1--n的除了个位上是3的所有数字之和

public static void method_11(int n){
    int num=0;
    for(int i=1;i<=n;i++){
        if(i%10!=3){
            num+=i;
        }
    }
    System.out.println(num);
}

7:编程:写一个函数,接受一个参数n,返回1--n的3的倍数和

public static void method_12(int n){
    int num=0;
    for(int i=1;i<=n;i++){
        if(i%3==0){
            num+=i;
        }
    }
    System.out.println(num);
}

8:*编程:写一个函数,接受一个参数n为井深,一只青蛙白天爬3米,晚上坠下2米,返0回这青蛙能爬出这口井的天数并打印

public static void method_13(int n){
    int count=0;
    int a=0;
    while(a<(n-2)){
        a=a+3-2;
        count++;
    }
    System.out.println(count);
}

9:编程:写一个函数,求一个三位数并输出,该三位数等与其每位数字的阶乘之和

public static int calculateSum(int number) {
    int sum = 0;
    int temp = number;

    while (temp > 0) {
        int digit = temp % 10;
        sum += factorial(digit);
        temp /= 10;
    }

    return sum + number;
}

public static int factorial(int n) {
    int result = 1;
    for (int i = 2; i <= n; i++) {
        result *= i;
    }
    return result;
}

10:编程:写一个函数,判断一个整数是否是质数并返回

public static boolean isZhi(int n){
//        boolean a=false;
        for(int i=2;i<n;i++){
            if(n%i==0){
                return false;
            }
        }
        return  true;

11:*编程:写一个函数,打印200以内所有的质数

public static void method_16(){
    for(int i=1;i<=200;i++){
        if(isZhi(i)){
            System.out.println(i);
        }
    }
}

12:*编程:写一个函数,计算两点(x1,y1)和(x2,y2)之间的距离

(java中对一个数n进行开平方double d=Math.sqrt(n);d为n开平方后的结果)

public static void method_17(){
    int x1=10;
    int x2=5;
    int y1=2;
    int y2=4;
    int mutiple=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
    double num=Math.sqrt(mutiple);
    System.out.println(num);

}

13:**编程:自己编写一个方法public static int round(double n)能够对小数n进行四舍五入返回一个整数。注意考虑n的正负。用一些正的或负的的小数测试一下自己编写的方法是否正确。

public static  void method18(){
    Scanner input=new Scanner(System.in);
    System.out.println("请输入一个小数,我来把它变成正数");
    double n=input.nextDouble();
    if(n>0){
        int a=(int)(n+0.5);
        System.out.println(a);
    }else {
        int b=(int)(n-0.5);
        System.out.println(b);
    }

}

14:**编程:已知两个完全平方三位数abc和xyz,其中a、b、c、x、y、z未必是不同的,而ax、by、cz是三个完全平方数。求abc和xyz

public static void method_19(){
    for(int abc=100;abc<=999;abc++){
        if(isWan(abc)){
            for(int xyz=100;xyz<=999;xyz++){
                if(isWan(xyz)){
                    int a=abc/100;
                    int b=abc/10%10;
                    int c=abc%10;
                    int x=xyz/100;
                    int y=xyz/10%10;
                    int z=xyz%10;
                    int ax=a*10+x;
                    int by=b*10+y;
                    int cz=c*10+z;
                    if(isWan(ax)&&isWan(by)&&isWan(cz)){
                        System.out.println(abc+"  "+xyz);
                    }
                }
            }
        }
    }
}
public static boolean isWan(int n){
    return Math.sqrt(n)-(int)Math.sqrt(n)==0;
}

15:*编程:验证角谷猜想:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续计算,若干次后得到的结果必然为1。要求:读入一个自然数,输出计算的步骤。

public static void method_23(int n){
    while(n!=1){
        if(n%2==0){
            System.out.println("n/2="+(n/2));
            n/=2;
        }else {
            System.out.println("n*3+1="+(n*3+1));
            n=n*3+1;
        }
    }
}

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这孩子叫逆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值