要查询的Java查询

时间:2016-11-28 08:46:07

标签: java eclipse

这就是问题:

  

给定一个带有声明double centerX = 0,centerY = 0的圆圈,取   半径和坐标为x,y的点。写一个程序   计算点是否位于圆内(包括   边界)。

     

公式:

     

两点A(x1,y1)和B(x2,y2)之间的距离为:

     

((x2-x1)^ 2 +(y2-y1)^ 2的平方根)

     

输入规范:

     

第一行将包含半径r。

     

第二行包含x和y。每个值都是(x,y)坐标   使得x,y> 0。

     

输出规格:

     

如果点在圆圈内打印"点(x,y)在   圆圈",否则打印"点(x,y)在圆圈外面#34;。

     

示例输入1:

     

7

     

2 5

     

示例输出1:

     

点(2,5)位于圆圈内

     

示例输入2:

     

2

     

9 4

     

示例输出2:

     

点(9,4)位于圆圈外

     

说明:

     

在样本输入1中,(0,0)和(2,5)之间的距离是5.3851   它小于半径7.因此该点在圆圈内。   而在另一组输入中,该点在圆圈之外   因为原点和(9,4)之间的距离是9.8488   大于给定半径2。

现在这是我的代码:

import java.util.Scanner;
import java.math.*;
class Circ{
    public static void main(String args[]){
        Scanner s=new Scanner(System.in);
        int r=s.nextInt();
        int x=s.nextInt();
        int y=s.nextInt();
        if(x>0&&y>0){
            double dist=Math.sqrt(Math.pow(x-0,2)+Math.pow(y-0,2));
        if(dist>r){
            System.out.println("The point ("+x+","+y+") is outside the circle");
        }else if(dist<=r){
            System.out.println("The point ("+x+","+y+") is inside the circle");
        }
        }

    }
}

它提供了正确的输出但没有通过测试用例?

enter image description here

1 个答案:

答案 0 :(得分:0)

import java.util.Scanner;
public class circleOfCodeG{
public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int  r,x,y;
    double dis;
    r=sc.nextInt();
    x=sc.nextInt(); y=sc.nextInt();
    dis=Math.sqrt((x*x)+(y*y));
    if(dis<=r)
        System.out.println("The point ("+x+", "+y+") is inside the circle");
    else
        System.out.println("The point ("+x+", "+y+") is outside the circle");
}
}

试试这个。我敢肯定,这将“满足”测试用例“。 :)