我创建了一个应用程序来计算圆的面积和周长,然后将结果发送给用户。唯一的问题是我必须将计算放在与 MainActivity.java 不同的类中。我目前在 MainActivity.java 的底部进行了计算,这不是我想要的。这是我到目前为止所拥有的:
package com.areacircumferencecircle;
import android.os.Bundle;
import android.app.Activity;
import android.widget.*;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener {
private Button btn;
private EditText edit;
private TextView area;
private TextView crf;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button1);
edit = (EditText)findViewById(R.id.editText1);
area = (TextView)findViewById(R.id.textArea);
crf = (TextView)findViewById(R.id.textCircumference);
btn.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
if(btn == v){
double r = Double.parseDouble(edit.getText().toString());
String a = Double.toString(3.141592 * (r * r));
String c = Double.toString(2 * 3.141592 * r);
crf.setText("Circumference: " + c);
area.setText("Area: " + a);
}
}
}
非常感谢任何帮助!
最佳答案
创建一个仅用于计算结果的类:
class Computations{
public double area(double r){
return 3.141592 * r * r;
}
public double circumference(double r){
return 2 * 3.141592 * r;
}
}
然后,在onClick(View v){...}
中使用它。如果您希望经常调用该方法,则可以在该方法外部实例化 c
并将其保留为类变量。
public void onClick(View v) {
if(btn == v){
double r = Double.parseDouble(edit.getText().toString());
Computations c = new Computations();
crf.setText("Circumference: " + c.circumference(r));
area.setText("Area: " + c.area(r));
}
}
仅此而已!
关于java - 如何创建一个类来计算圆的面积和周长并使用 eclipse 发送结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19459944/