📌  相关文章
📜  构建一个 Android 应用程序来检查一个数字是否自守(1)

📅  最后修改于: 2023-12-03 14:55:30.947000             🧑  作者: Mango

构建一个 Android 应用程序来检查一个数字是否自守

本文介绍了如何构建一个 Android 应用程序来检查一个数字是否为自守数。自守数是指一个数的平方的末尾数等于该数本身。

1. 功能需求

我们的应用程序需要实现以下功能:

  • 用户可以输入一个数字
  • 应用程序判断该数字是否为自守数
  • 应用程序显示结果给用户
2. 技术实现
2.1. XML 布局

我们首先需要创建一个界面,让用户可以输入数字并查看结果。在 activity_main.xml 中添加以下布局代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:id="@+id/numberInput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入一个数字" />

    <Button
        android:id="@+id/checkButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="检查" />

    <TextView
        android:id="@+id/resultText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>

上面的布局包含一个输入框、一个按钮和一个文本框,用于显示结果。

2.2. Java 代码

MainActivity.java 文件中,我们将处理用户输入和计算结果的逻辑。

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private EditText numberInput;
    private Button checkButton;
    private TextView resultText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        numberInput = findViewById(R.id.numberInput);
        checkButton = findViewById(R.id.checkButton);
        resultText = findViewById(R.id.resultText);

        checkButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String input = numberInput.getText().toString();

                if (input.isEmpty()) {
                    resultText.setText("请输入一个数字");
                } else {
                    int number = Integer.parseInt(input);
                    boolean isAutomorphic = checkAutomorphic(number);

                    if (isAutomorphic) {
                        resultText.setText(number + " 是自守数");
                    } else {
                        resultText.setText(number + " 不是自守数");
                    }
                }
            }
        });
    }

    private boolean checkAutomorphic(int number) {
        int square = number * number;
        String squareString = String.valueOf(square);
        String numberString = String.valueOf(number);

        return squareString.endsWith(numberString);
    }
}

上面的代码解释如下:

  • onCreate 方法在界面创建时执行,其中我们初始化了界面上的各个组件。
  • checkButtononClick 方法中,我们获取用户输入的数字,并将其转换为整数,然后调用 checkAutomorphic 方法来检查是否为自守数。
  • checkAutomorphic 方法计算数字的平方,并将其转换为字符串,然后检查平方的末尾是否与输入的数字相同。
2.3. 清单文件

我们还需要在 AndroidManifest.xml 中声明 MainActivity

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.automorphic">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
3. 构建和运行

通过以上步骤,我们已经完成了一个简单的 Android 应用程序来检查一个数字是否为自守数。要运行该应用程序,可以使用 Android Studio 构建并在模拟器或真实设备上运行。

以上是构建一个 Android 应用程序来检查一个数字是否自守的介绍。您可以根据需求进行更多功能的扩展,例如添加错误处理、进一步优化代码等。

注意: 以上代码只是一个简单示例,未进行完全的错误处理和验证,请根据实际需求进行适当的改进。