初学中遇到的小问题,请各位帮下忙?谢谢啦~

warningpop 2007-11-01 07:06:09
构建一个三角形类。要求如下:1成员变量:三条边.2成员函数:显示三条边的长度。并能够初始化该类的一个边长为3的等边三角形
//下面是我写的一段代码,能运行,但似乎和题目不符,只能直接输出边长为3的等边三角形,要怎么改才能符合题目要求呢?
import java.util.*;

public class TraingleTest
{
public static void main(String[] args)
{
Traingle e=new Traingle(3,3,3);

System.out.println("第一条边长aa为:"+e.getAa()+",第二条边长bb为:"+e.getBb()+",第三条边长cc为:"+e.getCc());
}
}

class Traingle
{
public Traingle(int ia,int ib,int ic)
{
aa=ia;
bb=ib;
cc=ic;
}

public int getAa()
{
return aa;
}
public int getBb()
{
return bb;
}
public int getCc()
{
return cc;
}
private int aa;
private int bb;
private int cc;
}
...全文
142 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
JhunHoonXZ 2007-11-02
  • 打赏
  • 举报
回复
忽然发现上面写的一堆错- -#
重新写了一个给你:

package question.xz;

public class Traingle {
private int a, b, c;

public Traingle() {
a = 3;
b = 3;
c = 3;
System.out.println("初始化三角形,三边长均为3");
}

public void setABC(int a, int b, int c) {
if (panduan(a, b, c)) {
this.a = a;
this.b = b;
this.c = c;
System.out.println("成功设置三角形三边a="+a+",b="+b+",c="+c);
}
}

public void setA(int a) {
if (panduan(a, b, c)){
this.a = a;
System.out.println("成功设置a边为"+a);
}


}

public void setB(int b) {
if (panduan(a, b, c)){
this.b = b;System.out.println("成功设置b边为"+b);}

}

public void setC(int c) {
if (panduan(a, b, c)){
this.c = c;System.out.println("成功设置c边为"+c);}

}

public int getA() {
return a;
}

public int getB() {
return b;
}

public int getC() {
return c;
}

public void outputABC() {
System.out.println("三角形三边长分别为:a=" + a + ",b=" + b + ",c=" + c);
}

public boolean panduan(int a, int b, int c) {
int i;
if (a > b) {
i = a;
a = b;
b = i;
}
if (b > c) {
i = b;
b = c;
c = i;
}
if (c >= a + b) {

System.out.println("数据不正确,"+a+","+b+","+c+"无法构成三角形,原始数据(a="+this.a+",b="+this.b+",c="+this.c+")未做修改!");
return false;
} else
return true;
}
}


调试类:

package question.xz;

public class rreeds {
public static void main(String[] args) {
Traingle sanjiao = new Traingle();
sanjiao.setABC(13, 14, 15);
sanjiao.setA(7);
sanjiao.setB(8);
sanjiao.setC(9);
sanjiao.setABC(4, 5, 15);
sanjiao.outputABC();
}
}


输出结果:
初始化三角形,三边长均为3。
成功设置三角形三边a=13,b=14,c=15
成功设置a边为7
数据不正确,7,8,15无法构成三角形,原始数据(a=7,b=14,c=15)未做修改!
成功设置c边为9
数据不正确,4,5,15无法构成三角形,原始数据(a=7,b=14,c=9)未做修改!
三角形三边长分别为:a=7,b=14,c=9
zhb_821012 2007-11-02
  • 打赏
  • 举报
回复
楼主你不是实现了吗?
还问什么
楼主是不是想弄成边长是可变的能自己键盘输入的还是什么意思看不明白
maolgx 2007-11-02
  • 打赏
  • 举报
回复
Traingle e=new Traingle(3,3,3);
这句已经定义死了显示的三条边是3,3,3;
还是不知道楼主想要说的什么意思。。。
JhunHoonXZ 2007-11-02
  • 打赏
  • 举报
回复
在上面Traingle类里加一个方法
public void output(){
System.out.println("a="+a+",b="+b+",c="+c);}
JhunHoonXZ 2007-11-02
  • 打赏
  • 举报
回复
public class Traingle{
private int a,b,c;
public traingle(){
a=3;
b=3;
c=3;}
public void traingle(int a,int b,int c){
this.a=a;
this.b=b;
this.c=c;}
public void setA(int a){
this.a=a;}
public void setB(int b){
this.b=b;}
public void setC(int c){
this.c=b;}
public int getA(){
return a;
public int getB(){
return b;
public int getC(){
return c;}
}
JhunHoonXZ 2007-11-02
  • 打赏
  • 举报
回复
用BigDecimal的话就要改不少东西。。麻烦。。
JhunHoonXZ 2007-11-02
  • 打赏
  • 举报
回复
按理说这种东西用不到那么大的精度吧。。
除非边长非要用200.00000003这种数的话
「已注销」 2007-11-02
  • 打赏
  • 举报
回复
double做算术运算会有误差的,
JhunHoonXZ 2007-11-02
  • 打赏
  • 举报
回复
没问题啊,你把所有的int都改成double就可以的
Kreocn 2007-11-02
  • 打赏
  • 举报
回复
楼上的可以试试如果三角形三边类型是Double的应该怎么办.......我试了一下....判断直角的时候有问题...

200.0 ?= 200.00000003
warningpop 2007-11-01
  • 打赏
  • 举报
回复
加急加急~!~
warningpop 2007-11-01
  • 打赏
  • 举报
回复
//下面是我上课时赶着抄的一点,不过后面抄错了.按照下面这个看来应该先输出一个普通三角形然后测试一下,再才是等边三角形.我的一开始直接就是等边三角形.按照下面的应该怎么改啊.(下面的后面部分抄错了,按那个思路该怎么改啊?)

public class sanjiaoxing
{
public sanjiaoxing(int one,int two,int three)
{
a=one;
b=two;
c=three;
}
public void displayinfo()
{
System.out.println("这个三角形的三边为: "+a+","+b+","+c);
}
private int a;
private int b;
private int c;
}

public static void main(String[] args)
{
sanjiaoxing equal after al=new sanjiaoxing(3,3,3);
sanjiaoxing qita=new sanjiaoxing();
equallater al displayinfo=qita.dispalyinfo();
}
johnsoncr 2007-11-01
  • 打赏
  • 举报
回复
程序没问题!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧