今晚忍不住到百度知道里偷个懒,有人出20分求个很基础的Java程序,自己感觉很久没有用Java了就练练手,写得不好,不过自己感觉Java的一点基础又回来了。
题目是:判断两个圆是否相交 圆心1坐标X=1 Y=1 半径 1 圆心2 坐标为 X=2 Y=2 半径 2
当然我不可能真把这个做常量来算,就写成用户自己输入圆心坐标和半径,试了一下可以就贴出代码来:
public static void main(String[] args){
System.out.println("请依次输入第一个圆的圆心坐标x和y以及半径,彼此以空格隔开");
Scanner read = new Scanner(System.in); //从键盘读入
String string1 = String.valueOf(read.nextLine());//按行读入
String[] data1 = string1.split(" ");//将字符串以空格为间隔分割开
System.out.println("请依次输入第二个圆的圆心坐标x和y以及半径,彼此以空格隔开");
String string2 = String.valueOf(read.nextLine());
String[] data2 = string2.split(" ");
double xDistance = Math.abs(Integer.parseInt(data2[0])-Integer.parseInt(data1[0]));//求圆心坐标x值的差,Integer.parseInt先从字符串转换成Int型,再求绝对值
double yDistance = Math.abs(Integer.parseInt(data2[1])-Integer.parseInt(data1[1]));
double rCount =Integer.parseInt(data2[2]) +Integer.parseInt(data1[2]);
if((Math.pow(xDistance,2)+Math.pow(xDistance,2))<=(Math.pow(rCount,2)))//比较平方值
{
System.out.println(Math.pow(rCount,2));
System.out.println("相交");
}else{
System.out.println("不相交");
}
read.close();
}
写完发现 Java的读取输入真是挺麻烦,搞的跟打开文件一样麻烦,还有平方也挺麻烦还要把Int转成Double类型,简单就是一个字:烦