gpt4 book ai didi

java - 我正在构建的简单 Android 应用程序遇到问题,但我无法弄清楚

转载 作者:行者123 更新时间:2023-12-01 07:45:22 25 4
gpt4 key购买 nike

在观看一些视频后,我正在构建我的第一个 Android 应用程序。我只是构建一个基本的应用程序,它接受用户的成绩输入,并使用 Toast 通知他们他们的字母成绩是什么。我已经正确实现了Java和Xml文件,并且模拟器运行完美,但是Java的逻辑是错误的。输入的每个数字都会返回 if 语句“请输入有效成绩”,而不是实际成绩。

这是我的 Xml 文件:

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".GradeActivity">


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome to SJU Grading App"
android:paddingTop="30sp"
android:paddingBottom="20sp"
android:textSize="25sp"
android:layout_gravity="center" />

<TextView
android:id="@+id/welcomeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter Numeric Grade Received out of 100"
android:layout_gravity="center"
android:paddingBottom="20sp"/>


<EditText
android:id="@+id/directions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0"
android:background="#CCCCCC"
android:ems="8"
android:inputType="number" />

<Button
android:id="@+id/sumbitButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20sp"
android:text="Sumbit"
android:background="#0099FF"/>
</LinearLayout >

这是我的 java 文件:

package com.example.yberh703.gradecalculator;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class GradeActivity extends AppCompatActivity {

Button myButton;
EditText input;

public void getGrade(EditText input){
input = (EditText)findViewById(R.id.directions);
String A_grade = input.getText().toString();
int grade = Integer.parseInt(A_grade);

if(grade>90){
Toast.makeText(this, "Your Grade: A", Toast.LENGTH_SHORT).show();
}
if(grade>80&& grade<90){
Toast.makeText(this, "Your Grade: B", Toast.LENGTH_SHORT).show();
}
if(grade>70&& grade<80){
Toast.makeText(this, "Your Grade: C", Toast.LENGTH_SHORT).show();
}
if(grade>60&&grade<70){
Toast.makeText(this, "Your Grade: D", Toast.LENGTH_SHORT).show();
}
if(grade>0&&grade<60){
Toast.makeText(this, "You Failed :( ", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this, "Please Enter A Valid Grade", Toast.LENGTH_SHORT).show();
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grade);
myButton =(Button)findViewById(R.id.sumbitButton);

myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getGrade((EditText)findViewById(R.id.directions));

}
});
}
}

我感谢我能得到的所有帮助。我有一种感觉,这个问题解决起来很简单,但我已经尝试了一分钟了。

谢谢

最佳答案

发生这种情况是因为您的最后一个 If Condition(if(grade>0&&grade<60)) 总是被检查,无论上述任何一个 If Conditions 是否为真,并且由于您可能给出的成绩输入失败最后一个 if 条件使其进入 ELSE 部分,因此您每次都会收到“请输入有效成绩”。

将 IF 结构更改为以下格式。

 public void getGrade(EditText input){
input = (EditText)findViewById(R.id.directions);
String A_grade = input.getText().toString();
int grade = Integer.parseInt(A_grade);

if(grade>90){
Toast.makeText(this, "Your Grade: A", Toast.LENGTH_SHORT).show();
}
else if(grade>80&& grade<90){
Toast.makeText(this, "Your Grade: B", Toast.LENGTH_SHORT).show();
}
else if(grade>70&& grade<80){
Toast.makeText(this, "Your Grade: C", Toast.LENGTH_SHORT).show();
}
else if(grade>60&&grade<70){
Toast.makeText(this, "Your Grade: D", Toast.LENGTH_SHORT).show();
}
else if(grade>0&&grade<60){
Toast.makeText(this, "You Failed :( ", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this, "Please Enter A Valid Grade", Toast.LENGTH_SHORT).show();
}
}

现在,在任何时间点,如果发现为真,则只会评估单个 IF/ELSE 条件。

关于java - 我正在构建的简单 Android 应用程序遇到问题,但我无法弄清楚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53909065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com