日期的格式化方式
//占位符的格式化
LocalDate now = LocalDate.now();
System.out.printf("%tF",now);
System.out.println();
//DateTimeFormatter格式化
LocalDateTime now1 = LocalDateTime.now();
var a =now1.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH点mm分ss秒"));
System.out.println(a);
System.out.println(now);
// SimpleDateFormat()对象
SimpleDateFormat sim = new SimpleDateFormat("yyyy年MM月dd日");
System.out.println(sim.format(Calendar.getInstance().getTime()));
输出结果
获取周几的几种简单方法
//获取周日期周几
//三种获取星期几的方法
//1. Calendar类最难用
Calendar cal = Calendar.getInstance();
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
//2.z占位符(最好用最好记)
System.out.printf("%tA%n",cal);
System.out.printf("%tA%n",System.currentTimeMillis());
System.out.printf("%tA%n",435654646128L);
// LocalDateTime类
LocalDateTime now2 = LocalDateTime.now();
System.out.println(now2.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA));
格式化数字
1. 格式化价格
//格式化价格
int price = 18;
NumberFormat currencyInstance = NumberFormat.getCurrencyInstance(Locale.CHINA);
NumberFormat currencyInstance_japan = NumberFormat.getCurrencyInstance(Locale.JAPAN);
NumberFormat currencyInstance_uk = NumberFormat.getCurrencyInstance(Locale.UK);
NumberFormat currencyInstance_german = NumberFormat.getCurrencyInstance(Locale.GERMAN);
NumberFormat currencyInstance_us = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(currencyInstance.format(price));
System.out.println(currencyInstance_japan.format(price));
System.out.println(currencyInstance_uk.format(price));
System.out.println(currencyInstance_german.format(price));
System.out.println(currencyInstance_us.format(price));
输出结果
基本参数
格式化数字
//DecimailForat类为NumberFormat子类。旨在解析和格式化任何语
//言环境中的数字,包括支持西方、阿拉伯语和印度语数字
double v = 32232.12154512;
System.out.println(new DecimalFormat("#").format(v));
System.out.println(new DecimalFormat("0").format(v));
double a = Math.random();
NumberFormat number = NumberFormat.getNumberInstance();
number.setMaximumFractionDigits(5);
System.out.println(number.format(a));
//百分比形式
System.out.println(new DecimalFormat("#.##%").format(v));
//被格式化的数值位数不够,则整数位不够的补零
System.out.println(new DecimalFormat("#.######\u2030").format(v));
//千分位格式
System.out.println(new DecimalFormat("###,###").format(v));
System.out.printf("%.4f",a);
输出结果
32232
32232
0.10022
3223212.15%
32232121.54512‰
32,232
0.1002
随机抽取幸运观众
var a = new String[]{"马飞飞", "卢本伟", "大司马", "pdd", "uzi", "theshy", "ji", "aklove", "lwx", "tian"};
Random random = new Random(1);
int b = (int)Math.round(Math.random()*9);
System.out.println("幸运观众是:" + a[b]);
Random random1 = new Random();
int i = random1.nextInt(1, 90);
if(i < 30)
System.out.printf("恭喜%s中奖啦!!!\n",a[b]);
else
System.out.println("很遗憾,这位选手没有中奖");
结果
幸运观众是:pdd
恭喜pdd中奖啦!!!
输出为彩色
Random random = new Random();
int i1;
int i2;
for (int i = 1; i <= 25; i++) {
i1 = random.nextInt(30, 37);
i2 = random.nextInt(40, 47);
System.out.printf("\033[%d;%dm HELLO WORLD! \033[0m ", i1, i2);
if (i % 5 == 0) {
System.out.println();
System.out.println();
}
}
输出结果