下面是一個簡單的 Java 程序示例,用于打印指定時間段內每個日期是星期幾:
網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、微信小程序、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了鐵西免費建站歡迎大家使用!
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
public class BirthdayPrint {
public static void main(String[] args) {
int startYear = 2022; // 開始年份
int endYear = 2025; // 結束年份
for (int year = startYear; year = endYear; year++) {
for (int month = 1; month = 12; month++) {
for (int day = 1; day = 31; day++) { // 最大值為 31,超出月份天數的部分會自動忽略
try {
LocalDate date = LocalDate.of(year, month, day);
DayOfWeek dow = date.getDayOfWeek();
System.out.println(date + " is " + dow);
} catch (Exception e) { // 如果日期非法,則會拋出異常,這里捕獲并忽略即可
}
}
}
}
}
}
```
此程序使用 Java 8 中的 `LocalDate` 類和 `DayOfWeek` 枚舉類型,循環遍歷指定時間范圍內的所有日期,并通過 `getDayOfWeek()` 方法獲取每個日期對應的星期幾。最后將所有結果輸出到控制臺。
需要注意的是,在本程序中,我們沒有做任何錯誤處理,例如輸入的起始和結束年份必須合法、超出日期范圍的日期會被自動忽略等等情況需要根據實際需求進行適當處理。
不太懂你什么意思,LocalDate 是類型,只能說最后用LocalDate 來接收,你可以接收一個生日字符串,然后通過LocalDate.parse("2022-09-23",DateTimeFormatter.ofPattern("yyyy-MM-dd")) 來轉換成LocalDate,或者直接接收3個int類型變量,通過LocalDate.of(2022,9,23)來創建一個LocalDate日期。
編寫一個簡單的生日快樂APP
一、關閉之前的helloworld程序
點擊file,然后close project,就完成關閉了。
二、創建一個新的happybirthday程序
三、下面開始整個APP的修改
1、如何查看Androidstudio中activity_main.xml的源代碼,在圖中 灰色部分現在是Design,點到code就會出現activity_main_xml的代碼了。
2、進行如下代碼的修改。把根布局改成相對布局 androidx.constraintlayout.widget.ConstraintLayout改為RelativeLayout
把多余的代碼刪除掉 ,并將文本內容改為android:text="祝你生日快樂!"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"
并可以修改文字的大小,顏色,添加邊框.。代碼如下:
3、在左側目錄下,res是存放資源文件的(圖片放進來);java是存放java代碼的;mainfests是存放配置文件的。因此將圖片復制在最側res目錄下。
4、將代碼補充完整
代碼:
?xml version="1.0" encoding="utf-8"?
RelativeLayout xmlns:android=""
xmlns:app=""
xmlns:tools=""
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
TextView
android:layout_margin="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="祝你生日快樂!"
android:textColor="@android:color/holo_orange_light"
android:textSize="22dp"
/
ImageView
android:layout_centerInParent="true"
android:src="@drawable/img"
android:layout_width="match_parent"
android:layout_height="wrap_content" /
/RelativeLayout
5、最后的效果如圖所示
6、可在手機中看到happybirthday的程序包,打開便是上面的畫面。
import java.util.Calendar;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
/**
* Title: Test03.javabr
* Description:
*
* @author 王凱芳
* @date 2020年3月5日 下午6:03:04
* @version 1.0
*
* @request 編寫一個方法能計算任何一個人今天離他最近下一次生日還有多少天,然后在主方法(main方法)中輸入你的出生年月日,調用該方法的計算結果并輸出信息“某某同學離自己最近下一次生日x天”。
*/
public class Test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入你的姓名:");
String name = sc.nextLine();
System.out.println("請輸入你的生日,格式為(2000/01/01):");
String line = sc.nextLine();
String[] strs = line.split("/");
if (strs.length == 3) {
int days = getDays(strs[0], strs[1], strs[2]);
if (days == 0) {
System.out.println(String.format("%s 同學,今天是你的生日,祝你生日快樂(#^.^#)", name, days));
} else {
System.out.println(String.format("%s 同學離自己最近下一次生日%d天。", name, days));
}
} else {
System.out.println("生日輸入不正確!請按格式輸入。");
}
sc.close();
}
/**
* 獲取最近一次生日天數
*
* @param year
* @param month
* @param day
* @return
*/
public static int getDays(String year, String month, String day) {
Calendar now = Calendar.getInstance();
now.set(Calendar.HOUR_OF_DAY, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
now.set(Calendar.MILLISECOND, 0);
int now_year = now.get(Calendar.YEAR);
Calendar birthday = Calendar.getInstance();
birthday.set(Calendar.YEAR, now_year);
birthday.set(Calendar.MONTH, Integer.parseInt(month) - 1);
birthday.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
birthday.set(Calendar.HOUR_OF_DAY, 0);
birthday.set(Calendar.MINUTE, 0);
birthday.set(Calendar.SECOND, 0);
birthday.set(Calendar.MILLISECOND, 0);
long diff = now.getTimeInMillis() - birthday.getTimeInMillis();
if (diff == 0) {
return 0;
} else if (diff 0) {
long diffDays = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
return Math.abs((int) diffDays);
} else {
birthday.add(Calendar.YEAR, 1);
long diffMi = birthday.getTimeInMillis() - now.getTimeInMillis();
long diffDays = TimeUnit.DAYS.convert(diffMi, TimeUnit.MILLISECONDS);
return (int) diffDays;
}
}
}
新聞名稱:java程序生日代碼 編寫生日代碼
URL地址:http://m.newbst.com/article12/doghedc.html
成都網站建設公司_創新互聯,為您提供網站改版、響應式網站、定制網站、網站導航、App設計、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯