我想用 Java 制作一个日期和时间百分比的程序,该程序运行良好但排列不整齐。这是我创建的 Java 程序:
import java.util.*;
import java.util.Date;
import java.text.*;
import java.math.RoundingMode;
public class Penanggalan {
int Leap, Tahun, Bulan, Tanggal;
int Harmun, Harke;
float Jam, Menit, Detik;
float Persen, Permun, DateCal;
public void DateDisplay() {
Date month = new Date();
SimpleDateFormat mn = new SimpleDateFormat("MMMMM");
Date day = new Date();
SimpleDateFormat dy = new SimpleDateFormat("EEEEE");
Calendar cal = Calendar.getInstance();
Tahun = cal.get(Calendar.YEAR);
Bulan = cal.get(Calendar.MONTH)+1;
Tanggal = cal.get(Calendar.DATE);
System.out.println("Tahun : " + Tahun);
System.out.println("Bulan : " + Bulan+" ("+mn.format(month)+")");
System.out.println("Tanggal : " + Tanggal);
System.out.println("Hari : " + dy.format(day));
}
public void DisplayCurrentTime(){
String shortPattern = "dd-MM-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(shortPattern);
String shortDate = simpleDateFormat.format(new Date());
String longPattern = "EEEEE, dd MMMMM yyyy";
SimpleDateFormat dateFormat = new SimpleDateFormat(longPattern);
String longDate = dateFormat.format(new Date());
String pattern = "HH:mm:ss";
SimpleDateFormat timeFormat = new SimpleDateFormat(pattern);
String time = timeFormat.format(new Date());
String dayYear = "D";
SimpleDateFormat dayinayear = new SimpleDateFormat(dayYear);
String harke = dayinayear.format(new Date());
if (Tahun % 400 == 0){
Leap = 366;
}
else if (Tahun % 100 == 0){
Leap = 365;
}
else if (Tahun % 4 == 0){
Leap = 366;
}
else {
Leap = 365;
}
Harke = Integer.parseInt(harke);
Harmun = 1+Leap-Harke;
DateCal = (Harke-1)+(Jam/24)+(Menit/1440)+(Detik/86400);
Persen = (float)(100*DateCal/Leap);
Permun = 100-Persen;
DecimalFormat df = new DecimalFormat("#.####");
System.out.println("Hari ke (dalam Setahun) : " + Harke);
System.out.println("Sisa Hari (Tahun depan) : " + Harmun);
System.out.println("Persentase dalam Setahun : " + Persen+"%");
System.out.println("Persentase Hitung Mundur : " + Permun+"%");
System.out.println();
System.out.println(shortDate);
System.out.println(longDate);
System.out.println(time);
System.out.print("Day-"+harke);
System.out.print(" ("+df.format(Persen)+"%)");
}
public void TimeDisplay() {
Calendar tme = Calendar.getInstance();
DecimalFormat wkt = new DecimalFormat("#");
Jam = tme.get(Calendar.HOUR_OF_DAY);
Menit = tme.get(Calendar.MINUTE);
Detik = tme.get(Calendar.SECOND);
System.out.println("Jam : " + wkt.format(Jam));
System.out.println("Menit : " + wkt.format(Menit));
System.out.println("Detik : " + wkt.format(Detik));
}
public static void main(String args[]) {
Penanggalan tanggalWaktu = new Penanggalan();
tanggalWaktu.DateDisplay();
tanggalWaktu.TimeDisplay();
tanggalWaktu.DisplayCurrentTime();
}
}
上述程序的输出如下:
Tahun : 2022
Bulan : 6 (June)
Tanggal : 13
Hari : Monday
Jam : 8
Menit : 21
Detik : 48
Hari ke (dalam Setahun) : 164
Sisa Hari (Tahun depan) : 202
Persentase dalam Setahun : 44.753006%
Persentase Hitung Mundur : 55.246994%
13-06-2022
Monday, 13 June 2022
08:21:48
Day-164 (44.753%)
但我想这样输出:
Tahun : 2022
Bulan : 6 (June)
Tanggal : 13
Hari : 1 (Monday)
Hari ke (dalam Setahun) : 164
Sisa Hari (Tahun depan) : 202
Persentase dalam Setahun : 44.753006%
Persentase Hitung Mundur : 55.246994%
Jam : 08
Menit : 21
Detik : 48
Monday, 13 June 2022
Day-164 (44.753%)
08:21:48
请帮助我重新排列 Java 程序以生成上面显示的输出,而不会出现任何错误!
提示:底部时间,日期和时间之间的百分比
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容