java期末(3)

1.利用海伦公式求三角形面积

海伦公式的表示:
假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:

0.jpg

其中,p为半周长(即:周长的一半):

1.jpg

import java.util.Scanner;

/*
time: 2024/12/8 14:07
*/
public class Main {
    
    // 求三角形面积
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            double a = sc.nextDouble();
            double b = sc.nextDouble();
            double c = sc.nextDouble();
            // 三角形--条件
            if (a + b > c && a + c > b && b + c > a) {
                double p = (a + b + c) / 2;
                double s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
                System.out.printf("%.2f\n", s);

            } else {
                System.out.println("Input Error!");
            }
        }

    }
    
}

 2. 身体质量指数(BMI)测算

体重是反映和衡量一个人健康状况的重要标志之一,过胖和过瘦都不利于健康,BMI(身体质量指数)计算方法:体重(以千克为单位)除以身高(以米为单位)的平方。中国成人正常的BMI应在18.5-24之间,如果小于18.5为体重不足,如果大于等于24为超重,大于等于28为肥胖。请编写程序,测算身体状态。

输入格式:

两个数值:体重(以千克为单位),身高(以米为单位),数值间以空格分隔。例如:65.5 1.75。
注意:体重的世界纪录是727公斤,身高的世界纪录是2.72米。输入数据上限不得超过纪录,下限不得小于等于0;

输出格式:

输入数值超出范围 :输出“input out of range”。例如:-2 3或者125 5。
BMI小于18.5 :输出“thin”。
BMI大于等于18.5小于24 :输出“fit”。
BMI大于等于24小于28 :输出“overweight”。
BMII大于等于28 :输出“fat”。

import java.util.Scanner;

/*
time: 2024/12/8 14:18
*/
public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            double weight = sc.nextDouble();
            double height = sc.nextDouble();

            if (weight <= 0 || height <= 0 || weight > 727 || height > 2.72) {
                System.out.println("input out of range");
            }
            else {
                double BMI = weight /( height*height);
                if (BMI < 18.5) {
                    System.out.println("thin");
                }
                else if (BMI < 24 && BMI >= 18.5) {
                    System.out.println("fit");
                }
                else if (BMI >= 24 && BMI < 28) {
                    System.out.println("overweight");
                }else {
                    System.out.println("fat");
                }
            }
        }

    }
}

3. 回文

输入一个以回车符为结束标志的字符串(少于80个字符),判断该字符串是否为回文。
回文就是字符串中心对称,如“abcba”、“abccba”是回文,“abcdba”不是回文。

import java.util.Scanner;

/*
time: 2024/12/8 14:35
*/
public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        StringBuilder sb = new StringBuilder(str);
        String rev = sb.reverse().toString();
        if (str.equals(rev)) {
            System.out.println("yes");
        }else {
            System.out.println("no");
        }

    }
}

4. 我是升旗手

一年一度的升旗手选拔又要到了,学校要求每个班级选出一位同学做升旗手的候选人。因
为升旗手对身高有严格的要求,所以班主任决定选班级里个子最高的同学(如果两位同学
一样高,则选任意一位)。你能很快地给老师答案么?

输入格式:

输入包括两行。 第一行:包括一个整数n,表示班级里共有n位同学。 第二行:包含n个三位数,表示每一位同学的身高。

输出格式:

输出身高最高的同学的身高。

import java.util.Scanner;

/*
time: 2024/12/8 14:44
*/
// 升旗手
public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        // 输入的是人数
        int n = sc.nextInt();

        int maxHeight = 100;
        for (int i = 0; i < n; i++) {
            int height = sc.nextInt();
            if (height > maxHeight) {
                maxHeight = height;
            }
        }
        System.out.println(maxHeight);

    }

5.兔子繁殖问题

 已知有一对兔子,每个月可以生一对兔子,而小兔子一个月后又可以生一对小兔子(比如:2月份出生的小兔子4月份可以生育)。也就是说,兔子的对数为:第一个月1对,第二个月2对,第三个月3对,第四个月5对.....假设兔子的生育期为两年,且不死。那么问题来了,你能说出每个月的兔子数么?

输入格式:

输入一个数n,表示第n个月,1<=n<=24。

import java.util.Scanner;
public class Main{
    public  static void main(String[] args){
       Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int a,b,c;
        a = 1;
        b = 1;
        c = 0;
        for(int i = 2;i<=n;i++){
            c = a + b;
            a = b;
            b = c;
        }
        System.out.println(c);
        
    }
}

5. 西安距离 

小明来到了古都西安,想去参观大唐西市!

西安的道路可以看做是与x轴或y轴垂直的直线,小明位于(a,b),而目的地位于(c,d),问最少几步可以到达。

输入格式:

一行中四个整数,a,b,c,d,表示坐标为(a,b)与(c,d),这里0<=a,b,c,d<=1000

输出格式:

输出这两个点的西安距离。


import java.util.Scanner;

// 西安距离计算
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int d = sc.nextInt();
		int x = Math.abs(a-c);
		int y = Math.abs(b-d);
		System.out.println(x+y);
		
		

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值