gpt4 book ai didi

java - 如何使用 View 计算面积、周长和半径

转载 作者:行者123 更新时间:2023-11-30 11:13:58 24 4
gpt4 key购买 nike

因此,我正在创建一个应用程序,其主要目的是计算三角形的面积、周长和半径。用户应该输入三个 double 类型的值。 &无论他们点击哪个按钮,都应该在结果 View 中吐出答案。用户可以单击任何按钮(哪个都无关紧要)。如果他们先点击“区域”按钮,然后决定点击“周边”按钮,结果应该会改变。这是一张图片,可让您了解它的外观:(http://tinypic.com/r/v3ncyh/8)。我不确定我的编程是否正确,因为我的值看起来完全不正确而且我认为我的 View 没有正确连接到我的代码。这段代码的第一部分是我的 Triangle 类,它包含我所有的 getter/setter 以及计算面积、周长和半径的方法。第二部分是我的 Activity ,它是我的应用程序的主要(也是唯一) Activity 。

公共(public)类三角形{

// instance variables
private double sideA;
private double sideB;
private double sideC;

// Getters and setters
public double getSideA() {
return sideA;
}

public void setSideA(double sideA) {
this.sideA = sideA;
}

public double getSide2B() {
return sideB;
}

public void setSideB(double sideB) {
this.sideB = sideB;
}

public double getSideC() {
return sideC;
}

public void setSideC(double sideC) {
this.sideC = sideC;
}

// Constructor
public Triangle(double sideA, double sideB, double sideC) {
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
}

// Three methods...
public double getPerimeter() {

return sideA + sideB + sideC;
}

public double getArea() {

double s = 1/2 * (sideA + sideB + sideC);
double area = Math.sqrt(s*(s-sideA)*(s-sideB)*(s-sideC));

return area;
}

public double getInRadius() {

double r = ((-sideA + sideB + sideC)*(sideA - sideB + sideC)*(sideA + sideB - sideC))/(4*(sideA + sideB + sideC));
double answer = Math.sqrt(r);

return r;
}

公共(public)类 TriangleComputationActivity 扩展 Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_triangle_computation);

// Declare our View variables and assign them the Views from the layout file
final TextView lengthOne = (TextView) findViewById(R.id.lengthOne);
final TextView lengthTwo = (TextView) findViewById(R.id.lengthTwo);
final TextView lengthThree = (TextView) findViewById(R.id.lengthThree);
final TextView result = (TextView) findViewById(R.id.result);

Button areaButton = (Button) findViewById(R.id.area);
Button perimeterButton = (Button) findViewById(R.id.perimeter);
Button inradiusButton = (Button) findViewById(R.id.inradius);

final Triangle triangle = new Triangle((double)lengthOne.getInputType(), (double)lengthTwo.getInputType(),(double)lengthThree.getInputType());

// Methods in Action...
areaButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
result.setText(triangle.getArea());

}
});

perimeterButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

result.setText(triangle.getPerimeter());
}
});

inradiusButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
result.setText(triangle.getInRadius());
}
});

}

最佳答案

TextView.getInputType()不会返回对您有用的值。它与 TextView 的实际文本无关。

您应该改用 TextView.getText()。您必须使用 Double.parseInt()Double.valueOf() 将其转换为 double 值。如果是我,我会在这些 TextView 上设置 android:inputType="numberDecimal"

关于java - 如何使用 View 计算面积、周长和半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com