java学习 习题练习 Demo53~66 Demo82~86
Demo 53
解题思路:
题中数据:三角形的三个顶点、三条边的长度、三个内角
题目要求:根据公式计算三角形三个内角
步骤:
1.提示用户输入三个顶点坐标
2.根据顶点坐标计算三角形三条边
3.根据题中公式计算三个内角角度
4.输出结果
代码:
import java.util.Scanner;
public class Demo53 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//提示用户输入三个点
System.out.print("输入三角形第一个顶点坐标:");
double x1 = input.nextDouble();
double y1 = input.nextDouble();
System.out.print("输入三角形第二个顶点坐标:");
double x2 = input.nextDouble();
double y2 = input.nextDouble();
System.out.print("输入三角形第三个顶点坐标:");
double x3 = input.nextDouble();
double y3 = input.nextDouble();
//计算三条边
double a = Math.sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3));
double b = Math.sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3));
double c = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
//计算三个角
double A = Math.toDegrees(Math.acos((a * a - b * b - c * c) / (-2 * b * c)));
double B = Math.toDegrees(Math.acos((b * b - a * a - c * c) / (-2 * a * c)));
double C = Math.toDegrees(Math.acos((c * c - a * a - b * b) / (-2 * a * b)));
//显示结果,保留小数点后两位
System.out.printf("A = %.2f B = %.2f C = %.2f",A,B,C);
}
}
Demo 54
解题思路:
题中数据:5个数组、生日日期
题目要求:若生日日期在该数组中则将此数组的第一个元素记录,直到5个数组全部判断一遍后,将生日日期所在的数组的所有第一个元素相加得到生日日期
步骤:
1.创建一个三维数组,将题中所有元素填入数组
2.遍历数组的每一个元素
3.将数组打印出来
4.提问用户生日日期是否在该数组中,直至5个数组都问过
5.若是在某一数组中,则将在的每一个数组的第一个数字相加
6.输出结果
代码:
import java.util.Scanner;
public class Demo54 {
public static void main(String[] args) {
int [][][] date={
{
{
1,3,5,7},{
9,11,13,15},{
17,19,21,23},{
25,27,29,31}},
{
{
2,3,6,7},{
10,11,14,15},{
18,19,22,23},{
26,27,30,31}},
{
{
4,5,6,7},{
12,13,14,15},{
20,21,22,23},{
28,29,30,31}},
{
{
8,9,10,11},{
12,13,14,15},{
24,25,26,27},{
28,29,30,31}},
{
{
16,17,18,19},{
20,21,22,23},{
24,25,26,27},{
28,29,30,31}}};
int days = 0;
//一共有5个数组
for(int i = 0; i < 5; i++)<