【面試題】判斷是不是直角三角形

編寫一個程序讀取用戶輸入的三個非零數據,判斷這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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章