Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何计算面积、周长和;以视图为半径_Java_Android_Android Layout_Android Activity_Model View Controller - Fatal编程技术网

Java 如何计算面积、周长和;以视图为半径

Java 如何计算面积、周长和;以视图为半径,java,android,android-layout,android-activity,model-view-controller,Java,Android,Android Layout,Android Activity,Model View Controller,因此,我正在创建一个应用程序,其主要目的是计算三角形的面积、周长和半径。用户应该输入三个double类型的值无论他们点击哪个按钮,都应该在结果视图中给出答案。用户可以单击任何按钮(无论是哪个按钮)。如果他们先点击“区域”按钮,然后决定点击“周长”按钮,结果应该会改变。下面是一张图片,让您了解它的外观:()。我不确定我的编程是否正确,因为我的值看起来完全不正确&我认为我的视图与代码的连接不正确。这段代码的第一部分是我的Triangle类,它包含我所有的getter/setter&我计算面积、周长和

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

公共阶级三角{

// 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;
}
}

公共类三角形计算活动扩展活动{

@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的实际文本无关


你应该改用
TextView.getText()
。你必须使用
double.parseInt()
double.valueOf()
将其转换为double。如果是我,我会设置
android:inputType=“numberDecimal”
在那些文本视图上。

我应该在哪里进行转换呢?&我已经将输入类型设置为numberDecimal。获取文本,转换为double,然后将double传递给三角形构造函数。现在,您将在
onCreate
中获取文本,而不是在其他任何地方。您可能需要某种方法来提取这些文本当用户按下按钮时输入数字,否则当运行
onCreate
时,三角形将始终具有文本字段中的任何值。