永发信息网

由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出N。Java语言

答案:2  悬赏:20  手机版
解决时间 2021-11-20 09:00
由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出N。Java语言
最佳答案
本题的关键是计算你输入的那个点的坐标与圆心的距离是否小于等于半径就可以了,假设单位圆的圆心是(0,0), 半径是1, 你输入一个坐标为(x, y) 那么计算(x, y)到(0, 0)的距离如果小于等于1就可以了,具体代码如下:
class Circle {
    public Point p; // 圆心坐标
    public float r; // 半径
    
    public Circle(Point p, float r) {
        this.p = p;
        this.r = r;
    }
}

class Point {
    public float x; // x坐标
    public float y; // y坐标
    
    public Point(float x, float y) {
        this.x = x;
        this.y = y;
    }
}

public class Main {
    public static void main(String[] args) {
        // 构造单位圆
        Circle circle = new Circle(new Point(0, 0), 1);
        // 你输入的点坐标
        Point point = new Point(0.5, 0.5);
        // 输出结果
        System.out.println(isInCircle(circle, point));
    }
    
    // 判断某个点是否在圆内火圆的边上面
    public static String isInCircle(Circle circle, Point point) {
        // 计算该点到圆心的距离
        float distance = Math.sqrt( // 开平方
            Math.pow(Math.abs(point.x - circle.p.x), 2), // 直角边平方
            Math.pow(Math.abs(point.y - circle.p.y), 2), // 直角边平方
            );
            // 本质上就是计算三角形的斜边长度
        return distance <= circle.r ? "Y" : "N";
        
    }
}
全部回答
package Main;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
double x,y;
Scanner input = new Scanner(System.in);
x = input.nextDouble();
y = input.nextDouble();
if(x*x+ y*y == 1){
System.out.println('Y');
}else{
System.out.println('N');
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三度空间美发美容院地址在什么地方,我要处理
5对2轻断食记录的做法步骤图,怎么做好吃
理想网吧地址在哪,我要去那里办事,
求末世小说,主角无敌或者特别强大,好看采纳
新江厦超市(石碶店)地址在哪,我要去那里办事
全新君独立悬架是什么材质
子网掩码怎么填?我有电信固定Ip,61.164.130
0.55除以一个数得0.6求这个数
义乌小商品直销超市地址在哪,我要去那里办事
贵庚和高寿什么时候用
河北圣伦集团办出国劳务的业务么?
怎么种植散装魔草,每一个步骤是什么
看图英语作文he. has. got. wifi
臀和胯尺码接近适合穿什么
求助win10下只能省电模式
推荐资讯
皇贵妃和宸妃到底哪个大,好像宸妃和皇贵妃都
打到江西省百县篮球比赛的冠军有什么用吗?
三星e258有电信版的么
铁门供电营业所地址在什么地方,我要处理点事
W11C如何开启屏幕触摸功能
娄星区娄底鸿拓门业我想知道这个在什么地方
强生美曈隐形眼镜在山东淄博张店哪有卖的啊!
从海口火车站到灵镇东和村坐多少路公交
此表情什么意思
三星80j6413和7260区别
大宝男的叫李禹彤二宝男的叫什么呀?
龙云汽贸地址在什么地方,我要处理点事!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?