📅  最后修改于: 2023-12-03 14:55:30.947000             🧑  作者: Mango
本文介绍了如何构建一个 Android 应用程序来检查一个数字是否为自守数。自守数是指一个数的平方的末尾数等于该数本身。
我们的应用程序需要实现以下功能:
我们首先需要创建一个界面,让用户可以输入数字并查看结果。在 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>
上面的布局包含一个输入框、一个按钮和一个文本框,用于显示结果。
在 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
方法在界面创建时执行,其中我们初始化了界面上的各个组件。checkButton
的 onClick
方法中,我们获取用户输入的数字,并将其转换为整数,然后调用 checkAutomorphic
方法来检查是否为自守数。checkAutomorphic
方法计算数字的平方,并将其转换为字符串,然后检查平方的末尾是否与输入的数字相同。我们还需要在 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>
通过以上步骤,我们已经完成了一个简单的 Android 应用程序来检查一个数字是否为自守数。要运行该应用程序,可以使用 Android Studio 构建并在模拟器或真实设备上运行。
以上是构建一个 Android 应用程序来检查一个数字是否自守的介绍。您可以根据需求进行更多功能的扩展,例如添加错误处理、进一步优化代码等。
注意: 以上代码只是一个简单示例,未进行完全的错误处理和验证,请根据实际需求进行适当的改进。