我尝试了以下代码。但是它给出了两个错误。我想通过公式行计算两点之间的距离,并在 textView1 中显示结果。我不知道我在代码中哪里犯了错误?
Cal.java
import android.view.View;
import android.content.Context;
import java.lang.Math;
public class Cal extends View {
Cal(Context context){
super(context);
}
public double result;
double parameter = ((10-80)^2) + ((15-90)^2);
public void cal(){
result = Math.sqrt(parameter);
}
}
MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity{
Cal cal;
TextView textView;
public void onCreate(Bundle s){
super.onCreate(s);
setContentView(R.id.textView1);
cal = new Cal(this);
textView.setText(cal).;
}
}
错误:
Gradle:FAILURE:构建因异常而失败。
出了什么问题:任务执行失败':Www:compileDebug'。
编译失败;有关详细信息,请参阅编译器错误输出。
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
和
无法使用Gradle分发执行构建 ' http://services.gradle.org/distributions/gradle-1.6-bin.zip'
答案 0 :(得分:0)
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity{
Cal cal;
TextView textView;
public void onCreate(Bundle s){
super.onCreate(s);
setContentView(R.layout.<your layout name>); // You can not set id of any view here
cal = new Cal(this); // This is a object
cal.cal();
textView.setText(""+ cal.result); // set the value instead of view object
}
}
答案 1 :(得分:0)
使cal()方法返回double值:
import android.view.View;
import android.content.Context;
import java.lang.Math;
public class Cal extends View {
Cal(Context context){
super(context);
}
public double result;
double parameter = ((10-80)^2) + ((15-90)^2);
public double cal(){
result = Math.sqrt(parameter);
return result;
}
}
调用cal()方法并显示结果。
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity{
Cal cal;
TextView textView;
public void onCreate(Bundle s){
super.onCreate(s);
setContentView(R.layout.<put your layout name here>);
cal = new Cal(this);
double res = cal.cal();
textView.setText(""+res);
}
}
textview将设置为“ NaN ”,因为您的参数变量不是数字变量。