編寫一個程序讀取用戶輸入的三個非零數據,判斷這3個值是否可以構成直角三角形三條邊。
【分析】
直角三角形的構成條件:
兩條邊的平方和等於第三條邊的平方
也就是: a*a + b*b = c*c
因爲你不知道哪兩條邊是直角邊,所以你至少得判斷3次
a*a + b*b = c*c 或者 b*b + c*c = a*a 或者 a*a + c*c = b*b
以保證程序的強健性。
/**
*
*/
package com.java.chapter04;
import javax.swing.JOptionPane;
/**
* @author Sinbad840628
* @version 1.0
* @since 2014.01.13
*/
public class RightAngleApp {
public static void main(String[] args) {
int number1 =0,
number2 = 0,
number3 = 0,
result = 0,
count = 1;
String input,output;
while ( count <=3) {
input = JOptionPane.showInputDialog("Please input Righ tAngle\'s number");
result = Integer.parseInt(input);
if (result <=0) {
JOptionPane.showMessageDialog(null, "the input number is illegal number","Error message",
JOptionPane.ERROR_MESSAGE);
continue;
}
if (count == 1) {
number1 = result;
}else if (count == 2) {
number2 = result;
}else if( count ==3){
number3 = result;
}
count++;
} //end of while loop
output = "Input number is: "+ number1 +" " + number2 +" " + number3 ;
if (number1 * number1 + number2*number2 == number3 * number3 ||
number2 * number2 + number3*number3 == number1 * number1 ||
number1 * number1 + number3*number3 == number2 * number2 ) {
JOptionPane.showMessageDialog(null, output + " is a right angle",
"The Result:",JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}else {
JOptionPane.showMessageDialog(null, output + " isn\'t a right angle",
"The Result:",JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}//end of method main
}//end of class RightAngleApp