编写一个程序,模拟订单系统中订单号的生成。例如给定一个包括年月日以及毫秒值的数组arr={2019,0504,1101},将其拼接成字符串s:[201905041101]。要求使用String类常用方法来实现字符串的拼接。
时间: 2024-04-29 13:25:03 浏览: 14
好的,这个问题可以回答。以下是示例代码:
```java
public class OrderSystem {
public static void main(String[] args) {
int[] arr = {2019, 0504, 1101};
String year = String.valueOf(arr[0]);
String month = String.format("%02d", arr[1]);
String day = String.format("%02d", arr[2]/10000);
String millis = String.format("%03d", arr[2]%1000);
String orderId = "[" + year + month + day + millis + "]";
System.out.println("生成的订单号为:" + orderId);
}
}
```
这个程序会将年份、月份、日期和毫秒值拼接成一个字符串,并在两端加上方括号。输出结果类似于"[201905041101]"。
相关问题
编写一个程序,模拟订单系统中订单号的生成。例如给定一个包括年月日以及毫秒值的数组arr={2019,0504,1101},将其拼接成字符串s:[201905041101]。要求使用string类常用方
这段代码模拟订单系统中生成订单号的过程。举例来说,如果要生成一个包括年月日以及毫秒值的数组 arr={2019,0504,1101},则可以将其拼接成字符串,其中括号中的值为数字的默认格式。要求使用string类常用方法来实现。最终的结果就是s=[201905041101]。
在超市购物时,小票上都会有一个订单号,而且每个订单号都是唯一的。本例要求用Java编写一个程序,模拟订单系统中订单号的生成。在生成订单号时,使用年月日和毫秒值组合生成唯一订单号。例如,给定一个包括年月日以及毫秒值的数组arr={2020,0504,1101},将其拼接成字符串s:[202005041101],作为一个订单号。
可以用如下Java代码实现:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class OrderNumberGenerator {
public static void main(String[] args) {
int[] arr = {2020, 0504, 1101}; // 年月日数组
String orderNumber = generateOrderNumber(arr); // 生成订单号
System.out.println(orderNumber); // 输出订单号
}
/**
* 根据年月日和毫秒值生成唯一订单号
*
* @param arr 包括年月日的数组
* @return 订单号字符串
*/
public static String generateOrderNumber(int[] arr) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); // 指定日期格式
String dateStr = sdf.format(new Date()); // 获取当前时间的字符串表示
StringBuilder sb = new StringBuilder(dateStr.substring(0, 8)); // 截取前八位作为订单号的日期部分
for (int i : arr) {
sb.append(i); // 将年月日数组拼接到订单号后面
}
return sb.toString();
}
}
```
这里使用了`SimpleDateFormat`类来格式化当前时间,以获取年月日和毫秒值。然后将年月日数组拼接到日期字符串后面,得到一个唯一的订单号。