第一部分 语法基础篇
第四章 编程练习题笔记
1、
这里增加一点难度,将输入边长改为输入顶点坐标
代码如下:
import java.util.Scanner;
public class Demo53{
public static void main(String[] args) {
//1.提示输入三角形的顶点坐标
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();
//0,0 0,1 1,0
//2.计算三个边的长度
double a = Math.hypot(x1 - x2, y1 - y2);
double b = Math.hypot(x1 - x3, y1 - y3);
double c = Math.hypot(x2 - x3, y2 - y3);
//3.计算三个角的弧度制值
double A = Math.acos((a * a - b * b - c * c) / (-2 * b * c));
double B = Math.acos((b * b - a * a - c * c) / (-2 * a * c));
double C = Math.acos((c * c - b * b - a * a) / (-2 * a * b));
//4.将弧度制转换为角度制并输出
A = Math.round(Math.toDegrees(A));
B = Math.round(Math.toDegrees(B));
C = Math.round(Math.toDegrees(C));
System.out.println(A);
System.out.println(B);
System.out.println(C);
}
}
运行结果:
2、
代码示例:
import java.util.Scanner;
public class Demo54{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int sum = 0;
System.out.println("1\t3\t5\t7\n9\t11\t13\t15\n17\t19\t21\t23\n25\t27\t29\t31");
System.out.print("你的生日在不在这里面?(y/n)") ;
String choice = input.nextLine();
if (choice.equals("y")) {
sum += 1;
}
System.out.println("2\t3\t6\t7\n10\t11\t14\t15\n18\t19\t22\t23\n26\t27\t30\t31");
System.out.print("你的生日在不在这里面?(y/n)") ;
String choice1 = input.nextLine();
if (choice1.equals("y")) {
sum += 2;
}
System.out.println("4\t5\t6\t7\n12\t13\t14\t15\n20\t21\t22\t23\n28\t29\t30\t31");
System.out.print("你的生日在不在这里面?(y/n)") ;
String choice2 = input.nextLine();
if (choice2.equals("y")) {
sum += 4;
}
System.out.println("8\t9\t10\t11\n12\t13\t14\t15\n24\t25\t26\t27\n28\t29\t30\t31");
System.out.print("你的生日在不在这里面?(y/n)") ;
String choice3 = input.nextLine();
if (choice3.equals("y")) {
sum += 8;
}
System.out.println("16\t17\t18\t19\n20\t21\t22\t23\n24\t25\t26\t27\n28\t29\t30\t31");
System.out.print("你的生日在不在这里面?(y/n)") ;
String choice4 = input.nextLine();
if (choice4.equals("y")) {
sum += 16;
}
System.out.println("我的生日是 " + sum + "号");
}
}
运行结果: