在超市购物时,小票上都会有一个订单号,而且每个订单号都 是唯一的。本例要求用Java编写个程序,模拟订单系统中订单号的生成。在生成订单号时,使用年月日和毫秒值组合生成唯一订单号。例如,给定一个包括年月日以及毫秒值的数组 arr={2020,0504,1101},将其拼接成字符串s:[202005041101], 作为一个订单号。
时间: 2024-02-24 14:59:41 浏览: 114
练习——打印购物小票并计算积分-使用java理解程序逻辑第二章
好的,可以使用Java的日期时间类和字符串操作来实现。可以按照以下步骤来生成订单号:
1. 获取当前时间的年月日和毫秒值
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
String dateTimeStr = now.format(formatter);
```
2. 将年月日和毫秒值拼接成一个字符串作为订单号
```java
String orderId = dateTimeStr.substring(0, 8) + dateTimeStr.substring(9);
```
完整代码如下:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class OrderIdGenerator {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
String dateTimeStr = now.format(formatter);
String orderId = dateTimeStr.substring(0, 8) + dateTimeStr.substring(9);
System.out.println(orderId);
}
}
```
运行程序,输出类似于以下格式的订单号:
```text
20210520160812590
```
阅读全文