采用控制台输入输出实现:输入三角形的三条边长度(整数),计算并输出该三角形的面积。
要可以不限次数的输入,直到输入0,则程序退出。
Java语言
采用控制台输入输出实现:输入三角形的三条边长度(整数),计算并输出该三角形的面积。
要可以不限次数的输入,直到输入0,则程序退出。
Java语言
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean flag = true;
Scanner sc = new Scanner(System.in);
while (flag) {
System.out.println("从键盘上输入3个整数并用空格隔开,单独输入0结束程序");
String inputstr = sc.nextLine();
String[] inputs = inputstr.split(" ");
if(inputs.length != 3 && inputs.length != 1) {
System.out.println("输入错误,请重新输入");
continue;
}
int[] nums = new int[inputs.length];
int sum = 0;
for (int i = 0; i < inputs.length; i++) {
nums[i] = Integer.parseInt(inputs[i]);
sum+=nums[i];
}
if (inputs.length == 1 && nums[0] == 0) {
flag = false;
continue;
}else if(inputs.length == 1 && nums[0]!= 0) {
System.out.println("输入错误,请重新输入");
continue;
}else if(nums[0]+nums[1]<=nums[2]||nums[0]+nums[2]<=nums[1]||nums[1]+nums[2]<=nums[0]) { //两边之和必须大于第三边,否则三角形不存在
System.out.println("三角形不存在,请重新输入");
continue;
}
double p = sum / 2.0;
double s = Math.sqrt(p * (p - nums[0]) * (p - nums[1]) * (p - nums[2]));
System.out.println("三条边长分别为: " + nums[0] + "," + nums[1] + "," + nums[2]);
System.out.printf("三角形面积约为: %.2f\n",s );
}
sc.close();
}