我的作業有問題,我無法使最後一部分工作。我在這裏做錯了什麼?它不會打印「圓2重疊圓1」。或「圓2不與圓1重疊」。前兩種情況是打印的。下面是問題:Java - 兩個圈重疊或內部
編寫一個程序(TwoCircles.java),它提示用戶輸入兩個圓的中心座標和半徑,並確定兩者之間的幾何關係並相應地打印以下消息之一: 1 。圈1是內圓2. 2.圈2是內圓1. 3.圈2重疊圈1. 4.圈2不重疊圈1.
這裏是我迄今爲我的代碼:
import java.util.Scanner;
public class TwoCircles {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter Circle 1 center x-, y-coordinates, and radius: ");
double X1 = input.nextDouble();
double Y1 = input.nextDouble();
double radius1 = input.nextDouble();
System.out.print("Enter Circle 2 center x-, y-coordinates, and radius: ");
double X2 = input.nextDouble();
double Y2 = input.nextDouble();
double radius2 = input.nextDouble();
double distance = Math.pow((X1 - X2) * (X1 - X2) + (Y1 - Y2) * (Y1 - Y2), 0.5);
if (radius2 >= radius1){
if (distance <= (radius2 - radius1))
System.out.println("Circle 1 is inside Circle 2.");}
else if (radius1 >= radius2){
if (distance <= (radius1 - radius2))
System.out.println("Circle 2 is inside Circle 1.");}
else if (distance > (radius1 + radius2)){
System.out.println("Circle 2 does not overlap Circle 1.");}
else {
System.out.println("Circle 2 overlaps Circle 1.");}
}
}
任何指導理解
這是你的代碼第一個還是第二個? – Kakarot
你是什麼意思 - 「此代碼打印前兩個輸出兩個。」前兩個是什麼?你提供什麼樣的輸入以及它打印什麼? –
輸出來了兩次,因爲你使用的條件如果沒有其他如果...所以,控制匹配兩個條件:一個用於半徑,另一個用於距離。如果阻塞正確,請使用if .. else。你會得到正確的輸出。 – Sambhav