Java Android Studio中的CGPA计算器

Java Android Studio中的CGPA计算器,java,android,Java,Android,我正在android studio中制作一个cgpa计算器,但应用程序总是在下面的行中崩溃。gpa=Double.parseDouble(marks_et.getText().toString()) 这里有完整的代码。 public class CgpaActivity extends AppCompatActivity { GridLayout DynamicEditTextHolder; EditText edtNoCreate,marks_et,cr_et,cgpa_ET; Butt

我正在android studio中制作一个cgpa计算器,但应用程序总是在下面的行中崩溃。
gpa=Double.parseDouble(marks_et.getText().toString())

这里有完整的代码。

public class CgpaActivity extends AppCompatActivity {
 GridLayout DynamicEditTextHolder;
 EditText edtNoCreate,marks_et,cr_et,cgpa_ET;
 Button btnCreate,CalculateGPA;
 TextView course;
double cgpa = 0,gpa,sumgpa = 0;
int i,length;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cgpa);

    DynamicEditTextHolder = findViewById(R.id.DynamicEditTextHolder);
    edtNoCreate = (EditText) findViewById(R.id.edtNoCreate);
    cgpa_ET=findViewById(R.id.cgpa_ET);
    btnCreate = (Button) findViewById(R.id.btnCreate);
    CalculateGPA=findViewById(R.id.CalculateGPA);
    btnCreate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(edtNoCreate.getText().toString().length()>0) {
                try {
                    DynamicEditTextHolder.removeAllViews();
                } catch (Throwable e) {
                    e.printStackTrace();
                }
                 length = Integer.parseInt(edtNoCreate.getText().toString());

                for ( i=1;i<=length;i++){

                    course=new TextView(CgpaActivity.this);
                    course.setId(i);
                    course.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                    course.setX(10);
                   // course.setX(ALIGN_BOUNDS);
                   // course.setRowOrderPreserved(false);
                    course.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
                    course.setText("Course"+(i));
                    DynamicEditTextHolder.addView(course,new GridLayout.LayoutParams());

                    marks_et = new EditText(CgpaActivity.this);
                    marks_et.setId(i);

                    marks_et.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                    marks_et.setHint("marks ");
                    marks_et.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
                    DynamicEditTextHolder.addView(marks_et,new GridLayout.LayoutParams());
                    gpa=Double.parseDouble(marks_et.getText().toString());
                    sumgpa += gpa;
                }


            }
        }

    });

    CalculateGPA.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
             {
                cgpa = sumgpa / length;
                cgpa_ET.setText(String.valueOf(cgpa));
            }

}

    });
公共类CgpaActivity扩展了AppCompatActivity{
GridLayout DynamicDittextHolder;
编辑文本edtNoCreate、marks_et、cr_et、cgpa_et;
按钮btnCreate,CalculateGPA;
文本视图课程;
双cgpa=0,gpa,sumgpa=0;
int i,长度;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cgpa);
dynamiceditextholder=findviewbyd(R.id.dynamiceditextholder);
edtNoCreate=(EditText)findViewById(R.id.edtNoCreate);
cgpa_ET=findViewById(R.id.cgpa_ET);
btnCreate=(按钮)findViewById(R.id.btnCreate);
CalculateGPA=findviewbyd(R.id.CalculateGPA);
btnCreate.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(edtNoCreate.getText().toString().length()>0){
试一试{
DynamicEditTextHolder.removeAllViews();
}捕获(可丢弃的e){
e、 printStackTrace();
}
length=Integer.parseInt(edtNoCreate.getText().toString());

对于(i=1;iAdd错误日志…java.lang.NumberFormatException:java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1071)java.lang.Double.parseDouble(Double.java:547)在app.twilight.uafcgpacalCalculator.CgpaActivity$1.onClick(CgpaActivity.java:67)上面代码的最后一行