首页 > 其它 > 题目详情
javaweb随机生成3个数判断是否能够形成三角形,若可行算出面积周长这个应该怎么做呢?满意追加悬赏
题目内容:
javaweb 随机生成3个数判断是否能够形成三角形,若可行算出面积周长
这个应该怎么做呢? 满意追加悬赏
优质解答
package com.test;
import java.util.Random;
public class Test {
public static void main(String[] args) {
int a,b,c; //三角形三边
int t; //三角形周长
double s; //三角形面积
Random random = new Random();
a = random.nextInt();
b = random.nextInt();
c = random.nextInt();
if( a > 0 && b > 0 && c > 0){
//判断是否构成三角形:两边之和大于第三边;两边之差小于第三边
if((a + b) > c && (a + c) > b && (b + c) > a && (a>b?(a-b):(b-a)) > c && (b>c?(b-c):(c-b)) > a && (a>c?(a-c):(c-a)) > b){
t = a + b + c;
int i = (a + b + c) / 2;
s = Math.sqrt(i * (i - a) * (i - b) * (i - c));
System.out.println("生成的三个随机数是:" + a + "," + b + "," + c);
System.out.println("这是一个三角形,其中周长是:" + t + ",面积是:" + s);
} else {
System.out.println("生成的三个随机数是:" + a + "," + b + "," + c + ",不满足三角形的条件");
}
} else {
System.out.println("生成的三个随机数是:" + a + "," + b + "," + c + ",其中有负数,不能构成三角形");
}
}
}
因为你的要求里没有范围的要求,所以生成的随机数是int范围
如果你要范围,例如是生成50之内的随机数,a = random.nextInt(49) + 1;
这个应该怎么做呢? 满意追加悬赏
优质解答
import java.util.Random;
public class Test {
public static void main(String[] args) {
int a,b,c; //三角形三边
int t; //三角形周长
double s; //三角形面积
Random random = new Random();
a = random.nextInt();
b = random.nextInt();
c = random.nextInt();
if( a > 0 && b > 0 && c > 0){
//判断是否构成三角形:两边之和大于第三边;两边之差小于第三边
if((a + b) > c && (a + c) > b && (b + c) > a && (a>b?(a-b):(b-a)) > c && (b>c?(b-c):(c-b)) > a && (a>c?(a-c):(c-a)) > b){
t = a + b + c;
int i = (a + b + c) / 2;
s = Math.sqrt(i * (i - a) * (i - b) * (i - c));
System.out.println("生成的三个随机数是:" + a + "," + b + "," + c);
System.out.println("这是一个三角形,其中周长是:" + t + ",面积是:" + s);
} else {
System.out.println("生成的三个随机数是:" + a + "," + b + "," + c + ",不满足三角形的条件");
}
} else {
System.out.println("生成的三个随机数是:" + a + "," + b + "," + c + ",其中有负数,不能构成三角形");
}
}
}
因为你的要求里没有范围的要求,所以生成的随机数是int范围
如果你要范围,例如是生成50之内的随机数,a = random.nextInt(49) + 1;
本题链接: