Java 在androidstudio中计算GPA

Java 在androidstudio中计算GPA,java,android,android-studio,Java,Android,Android Studio,我有一个小项目来创建一个计算学生GPA的应用程序 到目前为止,我使用旋转器让学生选择他们的成绩。请注意,我只为一门课程创建了一个插槽,一旦它工作正常,我将修改公式以计算所有课程 一旦我点击了该计算的按钮,什么也没发生 XML Java代码 package com.example.abdulelah.mygpa; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; impor

我有一个小项目来创建一个计算学生GPA的应用程序

到目前为止,我使用旋转器让学生选择他们的成绩。请注意,我只为一门课程创建了一个插槽,一旦它工作正常,我将修改公式以计算所有课程

一旦我点击了该计算的按钮,什么也没发生

XML


Java代码

package com.example.abdulelah.mygpa;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

public class GPA_51 extends AppCompatActivity {

Spinner spinner;
double gradesValue;
double result;
EditText creditNum;
TextView result511;
Button ButtonResult;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gpa_51);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);


    creditNum = (EditText)findViewById(R.id.creditNum);
    ButtonResult = (Button)findViewById(R.id.button1);
    result511 = (TextView)findViewById(R.id.Result5_1);




    spinner = (Spinner) findViewById(R.id.spinner5_1);
    final String[] grades = {"A+", "A", "B+", "B", "C+", "C", "D+", "D", "F"};

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, grades);
    spinner.setAdapter(adapter);

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int i, long id) {
            parent.getItemAtPosition(i);

            if (grades.equals("A+"))
                gradesValue=4.00;
            else if (grades.equals("A"))
                gradesValue=3.75;
            else if (grades.equals("B+"))
                gradesValue=3.50;
            else if (grades.equals("B"))
                gradesValue=3.00;
            else if (grades.equals("C+"))
                gradesValue=2.50;
            else if (grades.equals("C"))
                gradesValue=2.00;
            else if (grades.equals("D+"))
                gradesValue=1.50;
            else if (grades.equals("D"))
                gradesValue=1.00;
            else if (grades.equals("F"))
                gradesValue=0;



        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });




    ButtonResult.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String creditNumber1 = creditNum.getText().toString();
            int numberOfCredit = Integer.parseInt(creditNumber1);


            result = gradesValue * numberOfCredit;

            result511.setText(String.valueOf(result));
             }
    });


}
package com.example.abdulelah.mygpa;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.Snackbar;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Spinner;
导入android.widget.TextView;
公共类GPA_51扩展应用程序活动{
纺纱机;
二级价值观;
双重结果;
EditText creditNum;
文本视图结果511;
按钮结果;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gpa_51);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
creditNum=(EditText)findViewById(R.id.creditNum);
ButtonResult=(按钮)findViewById(R.id.button1);
结果511=(TextView)findViewById(R.id.Result5_1);
微调器=(微调器)findViewById(R.id.spinner5_1);
最后的字符串[]等级={“A+”,“A”,“B+”,“B”,“C+”,“C”,“D+”,“D”,“F”};
ArrayAdapter=新的ArrayAdapter(这个,android.R.layout.simple\u微调器\u下拉菜单\u项,等级);
旋转器。设置适配器(适配器);
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共id(AdapterView父项、视图、int i、长id){
父项。getItemAtPosition(i);
if(等级等于(“A+”)
等级值=4.00;
否则,如果(等级等于(“A”))
评分值=3.75;
else if(等级等于(“B+”)
评分值=3.50;
否则,如果(等级等于(“B”))
等级值=3.00;
else if(等级等于(“C+”)
评分值=2.50;
如果(等级等于(“C”))
等级值=2.00;
else if(等级等于(“D+”)
评分值=1.50;
否则,如果(等级等于(“D”))
等级值=1.00;
否则,如果(等级等于(“F”))
评分值=0;
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
ButtonResult.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串creditNumber1=creditNum.getText().toString();
int numberOfCredit=Integer.parseInt(creditNumber1);
结果=成绩值*学分数;
result511.setText(String.valueOf(result));
}
});
}
}你应该这样检查


因为您正在比较错误的变量<代码>等级是一个字符串数组

String selectedGrade = parent.getItemAtPosition(i);
//now use
if(selectedGrade.equals("A+")){
}...

您的问题是什么?单击if语句中应该执行计算的按钮后,什么也不会发生。您是否不只是根据.equals(
some grade
)而不是实际的等级检查数组引用?
if(parent.getItemAtPosition(position).toString().equalsIgnoreCase("A+")){gradesValue=4.00;}
String selectedGrade = parent.getItemAtPosition(i);
//now use
if(selectedGrade.equals("A+")){
}...