我加的import java.util.Date;和你老師說的import java.util.*;一樣,那我改成你那種把
創(chuàng)新互聯(lián)建站專注于利通網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供利通營銷型網(wǎng)站建設(shè),利通網(wǎng)站制作、利通網(wǎng)頁設(shè)計、利通網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造利通網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供利通網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
我寫的應(yīng)該是最簡單的了,里面還寫了很多注釋,你可以看看,其實(shí)你新學(xué)習(xí),坑農(nóng)是看這些東西有點(diǎn)眼暈,別暈,其實(shí)都是很簡單的,JAVA的最大特點(diǎn)就是他有很多別人寫好的東西,調(diào)用就可以了,你不認(rèn)識的就當(dāng)是調(diào)用了
import java.util.*;
import javax.swing.JOptionPane;
public class Test93 {
public static void main(String[] args) {
System.out.println("我行我素購物管理系統(tǒng)生日問候");
//這是一個死循環(huán),需要后面的break跳出
while (true) {
Date dt = new Date();
//dt就是獲得的當(dāng)前系統(tǒng)信息,下面用date的分別取今天的月份和日子
//注意月份要加1
//這里用Calendar會更好,但是貌似你要用date
int month = dt.getMonth() + 1;
int date = dt.getDate();
//用對話框提示用戶,并得到用戶的輸入
String id = JOptionPane.showInputDialog(null, "請輸入您的會員編號:");
String str = JOptionPane.showInputDialog(null, "請輸入您的生日:");
String month2 = str.substring(0, 2);
String date2 = str.substring(3, 5);
//轉(zhuǎn)換得到的字符串,和月份,日子分別比較
if (month == (Integer.parseInt(month2))
date == (Integer.parseInt(date2))) {
//一致就通知獲獎,并結(jié)束程序
System.out.println("第一個產(chǎn)生的壽星為:"+id+" 獲贈一個三星手機(jī)");
break;
} else {
//不一致繼續(xù)循環(huán)
System.out.println("今天不是您的生日");
String str2 = JOptionPane.showInputDialog(null, "繼續(xù)Y/N?");
//如果用戶輸入N則系統(tǒng)結(jié)束,大寫小寫N都可以
if ("N".equals(str2) || "n".equals(str2)) {
break;
}
}
}
}
}
最后再不愁一句,你把這個格式給修修,比如縮進(jìn)什么的會更清晰,可以用eclipse 的ctrl+shift+f的快捷鍵
呵呵加油
//生日字符串和整型
String?birthDateString?=?"1999-09-09";
int?year?=?1999;
int?month?=?9;
int?day?=?9;
//將字符串轉(zhuǎn)換為Date
DateFormat?dateFormat?=?new?SimpleDateFormat("yyyy-MM-dd");
//dateFormat?=?DateFormat.getInstance();
Date?birthDate?=?dateFormat.parse(birthDateString);
System.out.println(birthDate);
//構(gòu)建Date,已不推薦使用。年份從1900年開始,月份從0開始
birthDate?=?new?Date(year?-?1900,?month?-?1,?day);
System.out.println(birthDate);
//Calendar類,月份從0開始
Calendar?calendar?=?Calendar.getInstance();
calendar.set(Calendar.YEAR,?year);
calendar.set(Calendar.MONTH,?month-?1);
calendar.set(Calendar.DAY_OF_MONTH,?day);
calendar.set(Calendar.HOUR_OF_DAY,?0);?//設(shè)置時分秒
calendar.set(Calendar.MINUTE,?0);//設(shè)置時分秒
calendar.set(Calendar.SECOND,?0);//設(shè)置時分秒
calendar.set(Calendar.MILLISECOND,?0);//毫秒。。。
System.out.println(calendar.getTime());
以下代碼是關(guān)于年齡計算的 其中不包含正則判斷部分,如果有什么問題可以再交流
希望可以幫到你~
package api;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
/**
* 業(yè)務(wù)需求輸入一個生日(字符串),
* 返回該生日到系統(tǒng)時間的時間間隔
* @author Administrator
*
*/
public class BirthDate {
public static void main(String[] args) throws ParseException {
//創(chuàng)建Scanner
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入生日(格式為yyyy-MM-dd):");
String BirthDate = scanner.nextLine();
//將字符串轉(zhuǎn)換為Date類型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
date = sdf.parse(BirthDate);
//使用calendar進(jìn)行計算
Calendar calendar = Calendar.getInstance();
//獲取當(dāng)前時間毫秒值
long now = (new Date()).getTime();
long Birthdate = date.getTime();
long time = now-Birthdate;
int count=0;
//時間換算
long days = time/1000/60/60/24;
//判斷閏年
int birthYear = Integer.parseInt(( BirthDate.substring(0, 4)));
for(int i=calendar.get(Calendar.YEAR);i=birthYear;i--)
if((i%4==0 !(i%100==0)) ||
(i%400==0) ){
count++;
}
//加入閏年因素進(jìn)行整理換算
int age = ((int)days-count)/365;
System.out.println("到目前為止,活了"+age+"歲");
}
}
獲取系統(tǒng)時間:
import java.util.*;
import java.text.*;
public class TestDate {
public static void main(String[] args) {
Calendar ca = Calendar.getInstance();
int year = ca.get(Calendar.YEAR);//獲取年份
int month=ca.get(Calendar.MONTH);//獲取月份
int day=ca.get(Calendar.DATE);//獲取日
int minute=ca.get(Calendar.MINUTE);//分
int hour=ca.get(Calendar.HOUR);//小時
int second=ca.get(Calendar.SECOND);//秒
int WeekOfYear = ca.get(Calendar.DAY_OF_WEEK);
}
用系統(tǒng)時間跟生日比較就行了
編寫一個簡單的生日快樂APP
一、關(guān)閉之前的helloworld程序
點(diǎn)擊file,然后close project,就完成關(guān)閉了。
二、創(chuàng)建一個新的happybirthday程序
三、下面開始整個APP的修改
1、如何查看Androidstudio中activity_main.xml的源代碼,在圖中 灰色部分現(xiàn)在是Design,點(diǎn)到code就會出現(xiàn)activity_main_xml的代碼了。
2、進(jìn)行如下代碼的修改。把根布局改成相對布局 androidx.constraintlayout.widget.ConstraintLayout改為RelativeLayout
把多余的代碼刪除掉 ,并將文本內(nèi)容改為android:text="祝你生日快樂!"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"
并可以修改文字的大小,顏色,添加邊框.。代碼如下:
3、在左側(cè)目錄下,res是存放資源文件的(圖片放進(jìn)來);java是存放java代碼的;mainfests是存放配置文件的。因此將圖片復(fù)制在最側(cè)res目錄下。
4、將代碼補(bǔ)充完整
代碼:
?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、可在手機(jī)中看到happybirthday的程序包,打開便是上面的畫面。