问个简单的用java判断三角形的编程问题
本人是菜鸟,刚刚接触java,现在要设计一个小程序,就是输入三个数,判断是否是等边或者是直角,还是等腰三角形?1.请问设计思路如何,一个大概的过程?2.我编写了一个tri...
本人是菜鸟,刚刚接触java,现在要设计一个小程序,就是输入三个数,判断是否是等边或者是直角,还是等腰三角形?1.请问设计思路如何,一个大概的过程?2.我编写了一个triangle的类,但是方法要如何描述呢?
展开
5个回答
展开全部
给你个思路吧,程序自己写,挺简单的。
第一,要从键盘输入三个数,首先要判断这三个数是否有效,也就是能否组成一个三角形
第二,判断是什么样的三角形。三个数相等肯定是等边。其中任意两个相等肯定是等腰。两个较小的边的平方和等于最大的那个数的平方和肯定是直角。
一下做参考:
import java.io.*;
class Trigon{
static private double a,b,c;
static public void main(String[] sss){
try{
InputStream in=System.in;
InputStreamReader inRead=new InputStreamReader(in);
BufferedReader read=new BufferedReader(inRead);
System.out.println("输入三边值,每个值输入后回车");
a=Double.valueOf(read.readLine());
b=Double.valueOf(read.readLine());
c=Double.valueOf(read.readLine());
}catch(IOException e){
System.out.println("出现异常!");
System.exit(0);
}
if(a+b<c || a+c<b || b+c<a){
System.out.println("你输入的不能构成三角形");
}
if(a==b || a==c || b==c)
{
if(a==b && b==c) System.out.println("是等边");
else System.out.println("是等腰");
}
else System.out.println("一般的三角星");
}
}
第一,要从键盘输入三个数,首先要判断这三个数是否有效,也就是能否组成一个三角形
第二,判断是什么样的三角形。三个数相等肯定是等边。其中任意两个相等肯定是等腰。两个较小的边的平方和等于最大的那个数的平方和肯定是直角。
一下做参考:
import java.io.*;
class Trigon{
static private double a,b,c;
static public void main(String[] sss){
try{
InputStream in=System.in;
InputStreamReader inRead=new InputStreamReader(in);
BufferedReader read=new BufferedReader(inRead);
System.out.println("输入三边值,每个值输入后回车");
a=Double.valueOf(read.readLine());
b=Double.valueOf(read.readLine());
c=Double.valueOf(read.readLine());
}catch(IOException e){
System.out.println("出现异常!");
System.exit(0);
}
if(a+b<c || a+c<b || b+c<a){
System.out.println("你输入的不能构成三角形");
}
if(a==b || a==c || b==c)
{
if(a==b && b==c) System.out.println("是等边");
else System.out.println("是等腰");
}
else System.out.println("一般的三角星");
}
}
参考资料: http://zhidao.baidu.com/question/88959124.html?si=4
展开全部
import javax.swing.JOptionPane;
public class Triangle {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String str_bian1;
str_bian1 = JOptionPane.showInputDialog( "请输入三角形第一条边");
double m = Double.parseDouble(str_bian1);
String str_bian2;
str_bian2 = JOptionPane.showInputDialog("请输入三角形第二条边");
double n = Double.parseDouble(str_bian2);
String str_bian3;
str_bian3 = JOptionPane.showInputDialog( "请输入三角形第三条边");
double k = Double.parseDouble(str_bian3);
triangleJudge(m, n, k);
}
static void triangleJudge(double a, double b, double c) {
double[] data = { a, b, c };
//从小到大排序,交换法
double temp;
for(int i=0;i<2;i++)
for(int j=i+1;j<3;j++)
if(data[j]<data[i])
{
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
double p=data[0]+data[1];
double x=data[0]*data[0];
double y=data[2]*data[2];
double z=data[1]*data[1];
int l=5;
if(p <= data[2]) {l=0;
System.out.println("The triangle is " + l+"不能构成三角形");}
if(data[0]==data[1]&&data[1]==data[2])
{l=1;
System.out.println("The triangle is " + l+"等边三角形");}
if(x+z!=y&&data[0]==data[1]&&data[0]!=data[2])
{
l=2;System.out.println("The triangle is " + l+"一般等腰非直角三角形");
}
if(x+z==y&&data[0]!=data[1])
{
l=3;System.out.println("The triangle is " + l+"一般直角三角形");
}
if(x+z==y&&data[0]==data[1])
{
l=3;System.out.println("The triangle is " + l+"等腰直角三角形");
}
if(l==5)
System.out.println("The triangle is " + l+"一般三角形");
}
}
我给你个详细的编码,把等角三角形还有直角三角形再细分了。
public class Triangle {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String str_bian1;
str_bian1 = JOptionPane.showInputDialog( "请输入三角形第一条边");
double m = Double.parseDouble(str_bian1);
String str_bian2;
str_bian2 = JOptionPane.showInputDialog("请输入三角形第二条边");
double n = Double.parseDouble(str_bian2);
String str_bian3;
str_bian3 = JOptionPane.showInputDialog( "请输入三角形第三条边");
double k = Double.parseDouble(str_bian3);
triangleJudge(m, n, k);
}
static void triangleJudge(double a, double b, double c) {
double[] data = { a, b, c };
//从小到大排序,交换法
double temp;
for(int i=0;i<2;i++)
for(int j=i+1;j<3;j++)
if(data[j]<data[i])
{
temp = data[i];
data[i] = data[j];
data[j] = temp;
}
double p=data[0]+data[1];
double x=data[0]*data[0];
double y=data[2]*data[2];
double z=data[1]*data[1];
int l=5;
if(p <= data[2]) {l=0;
System.out.println("The triangle is " + l+"不能构成三角形");}
if(data[0]==data[1]&&data[1]==data[2])
{l=1;
System.out.println("The triangle is " + l+"等边三角形");}
if(x+z!=y&&data[0]==data[1]&&data[0]!=data[2])
{
l=2;System.out.println("The triangle is " + l+"一般等腰非直角三角形");
}
if(x+z==y&&data[0]!=data[1])
{
l=3;System.out.println("The triangle is " + l+"一般直角三角形");
}
if(x+z==y&&data[0]==data[1])
{
l=3;System.out.println("The triangle is " + l+"等腰直角三角形");
}
if(l==5)
System.out.println("The triangle is " + l+"一般三角形");
}
}
我给你个详细的编码,把等角三角形还有直角三角形再细分了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package Test;
public class Triangle {
private float a;
private float b;
private float c;
public Triangle() {
}
public Triangle(float a, float b, float c) {
this.a = a;
this.b = b;
this.c = c;
}
public String whichType() {
if (a + b < c || a + c < b || b + c < a)
return "你输入的不能构成三角形";
if (a == b || a == c || b == c) {
if (a == b && b == c)
return "是等边三角形";
return "是等腰三角形";
}
return "一般的三角形";
}
//set get 方法
}
public class Triangle {
private float a;
private float b;
private float c;
public Triangle() {
}
public Triangle(float a, float b, float c) {
this.a = a;
this.b = b;
this.c = c;
}
public String whichType() {
if (a + b < c || a + c < b || b + c < a)
return "你输入的不能构成三角形";
if (a == b || a == c || b == c) {
if (a == b && b == c)
return "是等边三角形";
return "是等腰三角形";
}
return "一般的三角形";
}
//set get 方法
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
····这个问题还真是常见。
好多书上都有这个例子。
就是根据数学方法用三个数判断三角形的类别。
public class triangle{
private int a;
private int b;
private int c;
public String toString(){
//判断输出就可以了。是什么类型就是什么类型
}
}
这里是重写了Object类的toString 方法,
你也可以随便写一个函数,这个函数判断类别就可以。
好多书上都有这个例子。
就是根据数学方法用三个数判断三角形的类别。
public class triangle{
private int a;
private int b;
private int c;
public String toString(){
//判断输出就可以了。是什么类型就是什么类型
}
}
这里是重写了Object类的toString 方法,
你也可以随便写一个函数,这个函数判断类别就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a,b,c;
if(a*a +b*b =c*c || a*a =b*b+ c*c ||b*b= a*a + c*c) 直角三角形
if(a=b=c)等边
if(a=b||a=c||b=c)等腰三角形
if(a*a +b*b =c*c || a*a =b*b+ c*c ||b*b= a*a + c*c) 直角三角形
if(a=b=c)等边
if(a=b||a=c||b=c)等腰三角形
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询