📅  最后修改于: 2023-12-03 14:55:30.964000             🧑  作者: Mango
在这篇文章中,我们将介绍如何构建一个 Android 应用程序来检查一年是否为闰年。首先,我们需要了解闰年的定义:
闰年指的是公历年度中有一年为“闰年”,它有 366 天。如果一个年份可以被4整除但不能被100整除,或者可以被400整除,那么这一年就是闰年。
因此,我们将编写一个简单的 Android 应用程序,用户可以输入一个年份,并检查它是否为闰年。我们将先展示整个应用程序的代码,然后解释每一部分。
package com.example.leapyear;
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 yearEditText;
private TextView resultTextView;
private Button checkButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yearEditText = findViewById(R.id.yearEditText);
resultTextView = findViewById(R.id.resultTextView);
checkButton = findViewById(R.id.checkButton);
checkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int year = Integer.parseInt(yearEditText.getText().toString());
boolean isLeapYear = checkLeapYear(year);
String result;
if (isLeapYear) {
result = year + "年是闰年!";
} else {
result = year + "年不是闰年!";
}
resultTextView.setText(result);
}
});
}
private boolean checkLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
}
首先,我们需要创建一个布局文件,使用户能够输入年份并查看结果。创建一个名为 activity_main.xml
的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/yearEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="请输入年份"/>
<Button
android:id="@+id/checkButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="检查"/>
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="20sp"
android:textStyle="bold"/>
</LinearLayout>
该布局包含一个输入框、一个按钮和一个文本框,以显示结果。现在我们来了解一下布局中使用的一些属性。
LinearLayout
是一种布局,它将其子视图排成一个列或一行。android:orientation
属性指定了子视图排列的方向。我们将其设置为 vertical
,表示垂直排列。android:padding
属性指定了布局的内边距。android:id
属性指定了每个视图的唯一 ID。android:layout_width
和 android:layout_height
属性指定了每个视图的大小。android:inputType
属性指定了输入框的输入类型。android:hint
属性指定了输入框中显示的提示文本。android:text
属性指定了按钮和文本框中显示的文本。android:textSize
和 android:textStyle
属性指定了文本大小和样式。接下来,我们需要创建一个名为 MainActivity.java
的 Java 类,它将处理用户输入并检查年份是否为闰年。让我们一起来看这个类。
package com.example.leapyear;
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 yearEditText;
private TextView resultTextView;
private Button checkButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yearEditText = findViewById(R.id.yearEditText);
resultTextView = findViewById(R.id.resultTextView);
checkButton = findViewById(R.id.checkButton);
checkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int year = Integer.parseInt(yearEditText.getText().toString());
boolean isLeapYear = checkLeapYear(year);
String result;
if (isLeapYear) {
result = year + "年是闰年!";
} else {
result = year + "年不是闰年!";
}
resultTextView.setText(result);
}
});
}
private boolean checkLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
}
我们首先导入所需的类:
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;
然后,我们创建了一个名为 MainActivity
的类,并扩展了 AppCompatActivity
类。该类是 Android 应用程序的主要入口点。
public class MainActivity extends AppCompatActivity {
紧接着,在类中声明了三个实例变量,用于引用 XML 布局中的三个组件:输入框、文本框和按钮。
private EditText yearEditText;
private TextView resultTextView;
private Button checkButton;
在 onCreate()
方法中,我们绑定了组件并设置了一个侦听器,以在用户点击按钮时检查年份是否为闰年。我们在 yearEditText
组件中获取用户输入的年份。然后,我们使用 checkLeapYear()
方法来检查该年份是否为闰年。最后,我们将结果更新到 resultTextView
组件中。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
yearEditText = findViewById(R.id.yearEditText);
resultTextView = findViewById(R.id.resultTextView);
checkButton = findViewById(R.id.checkButton);
checkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int year = Integer.parseInt(yearEditText.getText().toString());
boolean isLeapYear = checkLeapYear(year);
String result;
if (isLeapYear) {
result = year + "年是闰年!";
} else {
result = year + "年不是闰年!";
}
resultTextView.setText(result);
}
});
}
最后,我们创建了一个名为 checkLeapYear()
的私有方法,用于检查一个年份是否为闰年。该方法采用一个整数作为参数,返回一个 boolean 值。
private boolean checkLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
在该方法中,我们按照之前所述的规则来检查一个年份是否为闰年,并返回相应的 boolean 值。
在这篇文章中,我们学习了如何构建一个 Android 应用程序来检查一年是否为闰年。我们创建了一个布局文件,用户可以在其中输入年份并查看结果。然后,我们创建了一个名为 MainActivity.java
的类,处理用户的输入,并最终检查年份是否为闰年。我们希望这篇文章能对你有所帮助,让你更好地了解 Android 应用程序开发。