JAVA11 求最小公倍数--牛客刷题

题目描述

编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数

输入描述:

两个int类型变量作为方法的参数

输出描述:

int类型的变量,值为两个数的最小公倍数

代码

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int m = console.nextInt();
        int n = console.nextInt();
        int result = getCM(m, n);
        System.out.println(result);
    }
    public static int getCM(int m, int n) {
        int i=0;
        //write your code here......
        for (i = (m > n ? m : n);; i++) {
            if (i % m == 0 && i % n == 0) {
                 return i;
            }
        }
    }
}

结果

JAVA12 小球走过路程计算 

描述

一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?

输入描述:

输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)

输出描述:

输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)

示例1

输入:100 3

输出:12.500 250.000

备注:

结果保留三位小数,保留方式已经写在预设方法备注中

思路:

 

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        float h=scanner.nextFloat();
        int n =scanner.nextInt();
        float sum=0;
        //write your code here......
        for(int i=1;i<=n;i++){
            if(i==1){
              sum+=h;   
            }else{
              sum+=h*2;
            }
            h=h/2;       
        }
     System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", sum));
    }
}

结果

 JAVA13 求平均数

描述

键盘输入任意多个10000以内正整数(负数代表结束),求出它们的平均数,

输入描述:

任意多个正整数

输出描述:

它们的平均数(平均数为double类型,保留两位小数)

示例1

输入:12 23 32 43 -1

输出:27.50

备注:

输出格式与保留两位小数的方法已经写在预设代码注解中

代码:

public class Main {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int sc = 0;
        double avg = 0;
        int i = 0;
                //write your code here......
        for (i = 0;; i++) {
            sc = scan.nextInt();
            if (sc >= 0) {
                avg += sc;
            } else {
                break;
            }
        }
        avg = avg / i;
        System.out.println(String.format("%.2f", avg));
    }
}

结果:

JAVA14 判断质数 

描述

请补全预设代码中判断质数的方法。

输入描述:

一个大于1的整数

输出描述:

true/false

示例1

输入:2

输出:true

示例2

输入:9

输出:false

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Main main = new Main();
        Scanner scan = new Scanner(System.in);
        int number = scan.nextInt();
        System.out.println(main.isPrimeNumber(number));
    }

    public Boolean isPrimeNumber(int number) {
        for (int i = 2; i < number / 2; i++) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }
}

结果

 JAVA15 计算整数位数

描述

输入一个整数,计算它的位数。如果输入的整数不大于0则输出这个数

输入描述:

一个整数

输出描述:

整数的位数

示例1

输入:9999

输出:4

示例2

输入:0

输出:0

示例3

输入:-1

输出:-1

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        scan.close();
        int c = 1;
        //write code here......
        if (num <= 0) {
            System.out.println(num);
        } else {
            while (num/10>0) {
                num/=10;
                c++;
            }
              System.out.println(c);
        }
    }
}

结果:

 JAVA16 数组遍历

描述

将用户输入的六个数字填入数组并找出数组中最大值和最小值

输入描述:

随机输入的6个整数

输出描述:

输出数组中的最大值,最小值(最大值最小值之间用空格隔开。若有多个最大值或最小值,输出一次即可,如样例2所示)

方式1:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] ary = new int[6];
        int max;
        int min;
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < ary.length ; i++) {
            ary[i] = scanner.nextInt();
        }

        //write your code here......
        max = ary[0];
        min = ary[0];
        for (int i = 1; i < ary.length ; i++) {
            if (ary[i] > max) {
                max = ary[i];
            }
            if (ary[i] < min) {
                min = ary[i];
            }
        }
        System.out.println(max + " " + min);
    }
}

方式2:

import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        int[] ary = new int[6];
        int max;
        int min;
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < ary.length ; i++) {
            ary[i] = scanner.nextInt();
        }

        //write your code here......
        Arrays.sort(ary);
        max=ary[ary.length-1];
        min=ary[0];
        System.out.println(max + " " + min);
    }
}

结果:

 JAVA17 数组倒转

描述

输入6个整数,先将其输出然后再将数组倒转,再次输出数组

输入描述:

用户随机输入的6个int类型变量

输出描述:

先输出用户输入顺序的数组(这一步预设代码已给出)

再输出反转后的数组(输出格式为Arrays.toString(arr),参考预设代码中的输出格式)

示例1

输入:52 10 37 40 60 83

复制输出:[52, 10, 37, 40, 60, 83]

                  [83, 60, 40, 37, 10, 52]

代码:

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[6];
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            arr[i] = scanner.nextInt();
        }
        System.out.println(Arrays.toString(arr));

        //write your code here......
        int temp=0;
        for(int i=0;i<arr.length/2;i++){
            temp=arr[i];
            arr[i]=arr[arr.length-i-1];
           arr[arr.length-i-1]=temp; 
        }
        System.out.println(Arrays.toString(arr));
    }
}

结果:

JAVA18 二维数组求和

描述

给定一个二维数组,请你编写一个求和函数,计算出这个数组元素的和

输入描述:

输出描述:

输出二维数组元素的和

代码:

public class Main {
    public static void main(String[] args) {
        int[][]  arr = {{11,33,55},{22,44,66,88},{131,214,315,146},{928,827,726,625},{424,525}};
        int sum=add(arr);
        System.out.println(sum);
    }

    public static int add(int[][] arr) {
        int sum=0;

        //write your code here......
        for(int[] i:arr){
            for(int j:i){
                sum+=j;
            }
        }
        return sum;
    }
}

结果:

JAVA20 验证年龄 

描述

采用封装的思想,为Person类定义年龄属性,要求:

修改年龄时判断其范围,若年龄小于0则按0输出,若年龄大于200则按200输出。

输入描述:

年龄整数值

输出描述:

1. 若年龄小于0则输出0;

2. 若年龄大于200则输出200;

3. 若年龄介于[0,200]之间则直接输出。

代码

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Person p = new Person();
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int age = scanner.nextInt();
            p.setAge(age);
            System.out.println(p.getAge());
        }
    }

}

class Person {

    private int age;

    //write your code here......
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        if (age < 0) {
            return 0;
        } else if (age <= 200) {
            return age;
        } else {
            return 200;
        }
    }
}

结果:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值