UT源码 142

(1)设计三角形问题的程序

      输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及不构成三角形。(等腰直角三角形,判断为等腰三角形)

     现在要求输入三个整数a、b、c,必须满足以下条件:

     条件1   1≤a≤100          条件4   a<b+ c

     条件2   1≤b≤100          条件5   b<a+ c            

     条件3   1≤c≤100          条件6   c<a+ b 

  String triangle(int a,int b,int c)    返回字符型

 程序要求:

1)先显示:“请输入三角形的三条边:”

2)只要有不满足条件1,2,3之一,就返回“边的值不在范围内!”

3)只要有不满足4,5,6之一,就返回“不构成三角形”

4)根据边的情况分别返回:“等边三角形”“等腰三角形”“直角三角形”“一般三角形”

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Triangle {
	public static String triangle(int a, int b, int c) {
		if ((1 <= a && a <= 100) && (1 <= b && b <= 100) && (1 <= c && c <= 100))
			if ((a < b + c) && (b < a + c) && (c < a + b))
				if ((a == b) || (b == c) || (c == a))
					if (a == b && b == c)
						return "等边三角形";
					else {
						return "等腰三角形";
					}
				else {
					if (isRightTriangle(a, b, c))
						return "直角三角形";
					return "一般三角形";
				}
			else
				return "不构成三角形";
		return "边的值不在范围内!";
	}

	private static boolean isRightTriangle(double a, double b, double c) {
		List<Double> list = new ArrayList<>(Arrays.asList(a, b, c));
		Collections.sort(list);
		if (Math.pow(list.get(2), 2) == Math.pow(list.get(1), 2) + Math.pow(list.get(0), 2))
			return true;
		return false;
	}

	public static void main(String[] args) {
		String input = "";
		Scanner scan = new Scanner(System.in);
		while (true) {
			System.out.print("请输入三角形的三条边【空格分割,回车退出】");
			input = scan.nextLine();
			String[] buf = input.split("\\s+");
			if (input.equals(""))
				break;
			else if (buf.length == 3) {
				try {
					int a = Integer.valueOf(buf[0]);
					int b = Integer.valueOf(buf[1]);
					int c = Integer.valueOf(buf[2]);
					System.out.println(triangle(a, b, c));
				} catch (Exception e) {
					System.out.println("请输入整数");
				}
			} else
				System.out.println("格式错误");
		}
		scan.close();
		System.out.println("谢谢使用,再见~");
	}
}

  

posted @ 2017-03-10 16:39  王娇(wj)  阅读(247)  评论(0编辑  收藏  举报