import java.text.SimpleDateFormat;
創(chuàng)新互聯(lián)成立于2013年,先為大通等服務(wù)建站,大通等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為大通企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
import java.util.Date;
import java.util.Scanner;
/*********************************
* 停車場(chǎng)管理
* author zhang
*2013-12-13
********************************/
public class CarStopManager {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)入車牌號(hào):");
String carno = sc.next();
CarStopManager carStopManager = new CarStopManager();
carStopManager.setCarNo(carno);//設(shè)置車牌號(hào)
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sdate = format.format(new Date());
System.out.println("當(dāng)前時(shí)間(入場(chǎng)時(shí)間)是: "+sdate);
System.out.println("需要開出車場(chǎng)嗎?yes/no:");
String yesno = sc.next();
if(yesno.equals("yes")){
String edate = format.format(new Date());
System.out.println("出場(chǎng)時(shí)間是: "+edate);
//計(jì)算方法
carManager(2, sdate, edate,carStopManager);
}
}
/**
* 計(jì)算方法
*/
public static void carManager(int type,String starTime,
String endTime,CarStopManager carStopManager){
if(type==1){//按月收費(fèi)
System.out.println("如若沒有繳納月費(fèi)請(qǐng)繳納800元,如若繳納將不再提示!");
}else{
/**
* 一般不會(huì)有停車幾個(gè)月的吧?先不考慮停車幾年或者幾個(gè)月的
*/
String sDay = starTime.substring(8,10);//入場(chǎng)日期(天)
String sHour = starTime.substring(11, 13);//入場(chǎng)小時(shí)
String sMM = starTime.substring(14,16);//入場(chǎng)分鐘
String eDay = starTime.substring(8,10);//出場(chǎng)日期(天)
String eHour = endTime.substring(11, 13);//出廠小時(shí)
String eMM = endTime.substring(14,16);//出廠分鐘
float money = 0;//需繳納的費(fèi)用
int shour = Integer.parseInt(sHour);
int ehour = Integer.parseInt(eHour);
int smm = Integer.parseInt(sMM);
int emm = Integer.parseInt(eMM);
int rehour = 0;//停車幾個(gè)小時(shí)
if(sDay.equals(eDay)){//同一天
//當(dāng)天6點(diǎn)到20點(diǎn)之間
if((shour=6 shour=20)){
if(ehour - shour=6){//6個(gè)小時(shí)之內(nèi)
rehour = (ehour - shour)*60+(emm - smm);//停車多少分鐘
//需要繳納的費(fèi)用 前15分鐘免費(fèi) 以后每15分鐘1.5元
money = (rehour/15-15)*1.5f;
}else{
int hour = ehour - shour -6;//6小時(shí)除外剩余小時(shí)數(shù)
rehour = 6*60+(emm - smm);//停車多少分鐘
//前15分鐘免費(fèi) 以后每15分鐘1.5元 超過(guò)6小時(shí)15分鐘2元
money = ((rehour/15-15)*1.5f)+(hour*60/2);
}
}
}else{//跨天 20點(diǎn)到 6點(diǎn)之間
//todo
}
System.out.println("您的車牌號(hào)是:"+carStopManager.getCarNo()+";\n" +
"您此次停車花費(fèi)的費(fèi)用是: "+money+"元");
}
}
/**
* bean屬性
*/
private String carNo;//車牌號(hào)
private String startTime;//入場(chǎng)時(shí)間
private String endTime;//出場(chǎng)時(shí)間
/**
* 無(wú)參構(gòu)造
*/
public CarStopManager(){
super();
}
/**
* 有參數(shù)構(gòu)造
* @param carNo
* @param startTime
* @param endTime
*/
public CarStopManager(String carNo, String startTime, String endTime) {
super();
this.carNo = carNo;
this.startTime = startTime;
this.endTime = endTime;
}
/**
* 設(shè)置get方法
* @return
*/
public String getCarNo() {
return carNo;
}
/**
* 設(shè)置set方法
* @param carNo
*/
public void setCarNo(String carNo) {
this.carNo = carNo;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
}
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Stack;
import java.util.Vector;
import java.util.regex.MatchResult;
public class Test {
private CarStop carStop = new CarStop(3);
private CarTunnel tunnel = new CarTunnel();
public void test(){
//存放車輛信息,因?yàn)椴皇琼樞蜉斎氲?,所以放到Map中
HashMapInteger, Car carMap = new HashMapInteger, Car();
//最早進(jìn)入車庫(kù)的時(shí)間和最晚出車庫(kù)的時(shí)間
int startTime, endTime;
startTime = Integer.MAX_VALUE;
endTime = Integer.MIN_VALUE;
Scanner scanner = new Scanner(System.in);
//("A"或者"D"或者"E", int, int)
while(scanner.hasNext("\\((A|D|E),(\\d+),(\\d+)\\)")){
scanner.next("\\((A|D|E),(\\d+),(\\d+)\\)");
MatchResult r = scanner.match();
Car car;
//如果輸入A
if (r.group(1).equalsIgnoreCase("A")){
// 該車已經(jīng)記錄過(guò)
if (carMap.keySet().contains(Integer.parseInt(r.group(2)))){
// 取出來(lái)設(shè)置到達(dá)時(shí)間
car = carMap.get(Integer.parseInt(r.group(2)));
car.arrive = Integer.parseInt(r.group(3));
}else{
// 否則就記錄該車
car = new Car(Integer.parseInt(r.group(2)), Integer.parseInt(r.group(3)));
carMap.put(car.no, car);
}
if (car.arrive startTime) startTime = car.arrive;
if (car.leave endTime) endTime = car.leave;
// 出庫(kù)時(shí)間和到達(dá)時(shí)間同樣處理
}else if (r.group(1).equalsIgnoreCase("D")){
if (carMap.keySet().contains(Integer.parseInt(r.group(2)))){
car = carMap.get(Integer.parseInt(r.group(2)));
car.leave = Integer.parseInt(r.group(3));
}else{
car = new Car(Integer.parseInt(r.group(2)), 0, Integer.parseInt(r.group(3)));
carMap.put(car.no, car);
}
if (car.arrive startTime) startTime = car.arrive;
if (car.leave endTime) endTime = car.leave;
}else if (r.group(1).equalsIgnoreCase("E")){
break;
}
}
// 把記錄過(guò)的車做成數(shù)組并且排序
Car[] cars = new Car[carMap.size()];
cars = carMap.values().toArray(cars);
Arrays.sort(cars, new ComparatorCar(){
// 排序順序是到達(dá)時(shí)間出庫(kù)時(shí)間車牌
public int compare(Car c1, Car c2) {
if (c1.arrive!=c2.arrive) return c1.arrive - c2.arrive;
if (c1.leave!=c2.leave) return c1.leave - c2.leave;
return c1.no - c2.no;
}
});
for (int time=startTime; time=endTime; time++){
System.out.println("TIME:" + time);
for (int k=0;kcars.length;k++){
Car car = cars[k];
//如果有車在沒有進(jìn)入停車場(chǎng)的時(shí)候就已經(jīng)到了出庫(kù)時(shí)間
if (car.leave == time carStop.isFull() !carStop.contains(car)){
for (int i=tunnel.size()-1;i=0;i--){
Car c = tunnel.get(i);
if (c.equals(car)){
for (int j=i+1;jtunnel.size();j++){
System.out.println(car + "為" + car + "讓路,重新進(jìn)入等待區(qū)");
}
tunnel.remove(car);
System.out.println(car + "沒進(jìn)入過(guò)停車場(chǎng)就離開了");
}else{
System.out.println(car + "為" + car + "讓路");
}
}
}else{
// 如果有車子現(xiàn)在到達(dá)
if (car.arrive == time){
// 停車場(chǎng)不滿
if (!carStop.isFull()) {
// 進(jìn)入停車場(chǎng)
carStop.push(car);
// 開始計(jì)費(fèi)
car.chargeStart = time;
System.out.println(car + "進(jìn)入停車場(chǎng)并且開始計(jì)費(fèi)");
}else{
// 停車場(chǎng)滿,等待
System.out.println(car + "到達(dá),在等待區(qū)等待");
tunnel.push(car);
}
}
}
}
//deal with cars in stop
//the case cars leave at same time is not included
// 按照后進(jìn)先出的順序看有沒有車要離開
for (int k=carStop.size() - 1; k=0; k--){
Car car = carStop.elementAt(k);
//準(zhǔn)備離開
if (car.leave == time){
Car otherCar;
// 所有在他后面進(jìn)來(lái)的車準(zhǔn)備讓路
while ((otherCar = carStop.pop())!=car){
// 進(jìn)入等待區(qū)的最前面
tunnel.unshift(otherCar);
System.out.println(otherCar + "準(zhǔn)備為" + car + "讓路");
}
for (int m=tunnel.size()-1;m=0;m--){
System.out.println(tunnel.elementAt(m) + "為" + car + "讓路");
}
System.out.println(otherCar + "離開,停車時(shí)間:" + (otherCar.leave - otherCar.chargeStart));
for (int m=0; mtunnel.size(); m++){
System.out.println(tunnel.elementAt(m) + "讓路完畢,重新進(jìn)入等待區(qū)");
}
Car waitingCar;
//停車場(chǎng)有空位,等待序列最前面的車入庫(kù)
while ( !carStop.isFull() (waitingCar = tunnel.shift())!=null ){
carStop.push(waitingCar);
// 停車計(jì)時(shí)開始
if (waitingCar.chargeStart == -1) {
System.out.println(waitingCar + "停車計(jì)時(shí)時(shí)間改為:" + time);
waitingCar.chargeStart = time;
}
System.out.println(waitingCar + "進(jìn)入停車場(chǎng)");
}
}
}
}
}
public static void main(String[] args){
new Test().test();
}
}
@SuppressWarnings("serial")
class CarTunnel extends VectorCar{
public CarTunnel(){
super();
}
public Car shift(){
if (size() == 0) return null;
return remove(0);
}
public void unshift(Car car){
super.add(0, car);
}
public void push(Car car){
super.add(car);
}
public Car pop(){
if (size() == 0) return null;
return remove(size()-1);
}
}
@SuppressWarnings("serial")
class CarStop extends StackCar{
private int size;
public CarStop(int size){
this.size = size;
}
public boolean isFull(){
return size() == size;
}
public Car pop(){
return super.pop();
}
public Car push(Car car){
if (size() = size){
return super.push(car);
}else{
return null;
}
}
}
class Car{
public int no;
public int arrive;
public int leave;
public int chargeStart = -1;
public Car(int no, int timeIn, int timeOut){
this.no = no;
this.arrive = timeIn;
this.leave = timeOut;
}
public Car(int no, int timeIn){
this(no, timeIn, -1);
}
public String toString(){
return String.format("Car(%d)", no);
}
}
結(jié)果:
(A,6,31)
(A,5,30)
(A,4,20)
(A,3,16)
(A,2,15)
(A,1,10)
(D,1,50)
(D,2,30)
(D,3,31)
(D,4,25)
(D,5,32)
(D,6,40)
(E,0,0)
TIME:10
Car(1)進(jìn)入停車場(chǎng)并且開始計(jì)費(fèi)
TIME:11
TIME:12
TIME:13
TIME:14
TIME:15
Car(2)進(jìn)入停車場(chǎng)并且開始計(jì)費(fèi)
TIME:16
Car(3)進(jìn)入停車場(chǎng)并且開始計(jì)費(fèi)
TIME:17
TIME:18
TIME:19
TIME:20
Car(4)到達(dá),在等待區(qū)等待
TIME:21
TIME:22
TIME:23
TIME:24
TIME:25
Car(4)沒進(jìn)入過(guò)停車場(chǎng)就離開了
TIME:26
TIME:27
TIME:28
TIME:29
TIME:30
Car(5)到達(dá),在等待區(qū)等待
Car(3)準(zhǔn)備為Car(2)讓路
Car(5)為Car(2)讓路
Car(3)為Car(2)讓路
Car(2)離開,停車時(shí)間:15
Car(3)讓路完畢,重新進(jìn)入等待區(qū)
Car(5)讓路完畢,重新進(jìn)入等待區(qū)
Car(3)進(jìn)入停車場(chǎng)
Car(5)停車計(jì)時(shí)時(shí)間改為:30
Car(5)進(jìn)入停車場(chǎng)
TIME:31
Car(6)到達(dá),在等待區(qū)等待
Car(5)準(zhǔn)備為Car(3)讓路
Car(6)為Car(3)讓路
Car(5)為Car(3)讓路
Car(3)離開,停車時(shí)間:15
Car(5)讓路完畢,重新進(jìn)入等待區(qū)
Car(6)讓路完畢,重新進(jìn)入等待區(qū)
Car(5)進(jìn)入停車場(chǎng)
Car(6)停車計(jì)時(shí)時(shí)間改為:31
Car(6)進(jìn)入停車場(chǎng)
TIME:32
Car(6)準(zhǔn)備為Car(5)讓路
Car(6)為Car(5)讓路
Car(5)離開,停車時(shí)間:2
Car(6)讓路完畢,重新進(jìn)入等待區(qū)
Car(6)進(jìn)入停車場(chǎng)
TIME:33
TIME:34
TIME:35
TIME:36
TIME:37
TIME:38
TIME:39
TIME:40
Car(6)離開,停車時(shí)間:9
TIME:41
TIME:42
TIME:43
TIME:44
TIME:45
TIME:46
TIME:47
TIME:48
TIME:49
TIME:50
Car(1)離開,停車時(shí)間:40
#includestdio.h
#includestdlib.h
#includestring.h
#define MAX 3 // 停車場(chǎng)最大容量
#define price 5 //每小時(shí)5元
typedef struct time {
int hour;
int min;
} Time;// 定義時(shí)間結(jié)構(gòu)體
typedef struct node {
char num[10];
Time reach;
Time leave;
} CarNode;// 定義車輛信息結(jié)構(gòu)體
typedef struct NODE {
CarNode * stack[MAX + 1];
int top;
} SeqStackCar;
typedef struct car {
CarNode *data;
struct car *next;
} QueueNode;
typedef struct Node {
QueueNode *head;
QueueNode *rear;
} LinkQueueCar;
void InitStack(SeqStackCar *s) {
int i;
s-top = 0;
for (i = 0; i = MAX; i++)
s-stack[s-top] = NULL;
}// 棧的初始化
int InitQueue(LinkQueueCar *Q) {
Q-head = (QueueNode *) malloc(sizeof (QueueNode));
if (Q-head != NULL) {
Q-head-next = NULL;
Q-rear = Q-head;
return (1);
} else return (-1);
}// 隊(duì)列的初始化
void PRINT(CarNode *p, int room) { // 車輛收費(fèi)
int A1, A2, B1, B2;
printf("\n車輛離開的時(shí)間:");
scanf("%d:%d", (p-leave.hour), (p-leave.min));
printf("\n離開車輛的車牌號(hào)為:");
puts(p-num);
printf("\n其到達(dá)時(shí)間為: %d:%d", p-reach.hour, p-reach.min);
printf("\n離開時(shí)間為: %d:%d", p-leave.hour, p-leave.min);
A1 = p-reach.hour;
A2 = p-reach.min;
B1 = p-leave.hour;
B2 = p-leave.min;
printf("\n應(yīng)交費(fèi)用為: %2.1f元", ((B1 - A1)*60 + (B2 - A2)) * price);
free(p);
}
int Arrival(SeqStackCar *Enter, LinkQueueCar *W) {
CarNode *p;
QueueNode *t;
p = (CarNode *) malloc(sizeof (CarNode));
printf("\n請(qǐng)輸入車牌號(hào)(例:豫B1234):");
scanf("%d",p-num);
if (Enter-top MAX) {
Enter-top++;
printf("\n車輛在車場(chǎng)第%d位置.", Enter-top);
printf("\n車輛到達(dá)時(shí)間:");
scanf("%d:%d", (p-reach.hour), (p-reach.min));
Enter-stack[Enter-top] = p;
return (1);
} else {
printf("\n該車須在便道等待!有車位時(shí)進(jìn)入車場(chǎng)");
t = (QueueNode *) malloc(sizeof (QueueNode));
t-data = p;
t-next = NULL;
W-rear-next = t;
W-rear = t;
return (1);
}
}// 車輛的到達(dá)登記
void Leave(SeqStackCar *Enter, SeqStackCar *Temp, LinkQueueCar *W) { //車輛的離開
int room;
CarNode *p, *t;
QueueNode *q;
if (Enter-top 0) // 判斷車場(chǎng)是否為空
{
while (1) {
printf("\n請(qǐng)輸入車在車場(chǎng)的位置/1--%d/:", Enter-top);
scanf("%d", room);
if (room = 1 room = Enter-top) break;
else printf("\n 輸入有誤,請(qǐng)重輸: ");
}
while (Enter-top room) // 把要?jiǎng)h除的車輛的前面的車開出來(lái),進(jìn)臨時(shí)棧。
{
Temp-top++;
Temp-stack[Temp-top] = Enter-stack[Enter-top];
Enter-stack[Enter-top] = NULL;
Enter-top--;
}
p = Enter-stack[Enter-top]; // 把要?jiǎng)h除的車輛節(jié)點(diǎn)賦給p。
Enter-stack[Enter-top] = NULL;
Enter-top--;
while (Temp-top = 1) // 再把臨時(shí)棧里德車輛進(jìn)停車場(chǎng)
{
Enter-top++;
Enter-stack[Enter-top] = Temp-stack[Temp-top];
Temp-stack[Temp-top] = NULL;
Temp-top--;
}
PRINT(p, room); // 調(diào)用計(jì)費(fèi)函數(shù)計(jì)費(fèi)
if ((W-head != W-rear) Enter-top MAX) //如果便道上有車,則再開進(jìn)停車場(chǎng)。
{
q = W-head-next;
t = q-data;
Enter-top++;
printf("\n便道的%s號(hào)車進(jìn)入車場(chǎng)第%d位置.", t-num, Enter-top);
printf("\n請(qǐng)輸入%s號(hào)車進(jìn)入車場(chǎng)的時(shí)間:", t-num);
scanf("%d:%d", (t-reach.hour), (t-reach.min));
W-head-next = q-next;
if (q == W-rear) W-rear = W-head;
Enter-stack[Enter-top] = t;
free(q);
} else printf("\n便道里沒有車.\n");
} else printf("\n車場(chǎng)里沒有車.");
}
void List1(SeqStackCar *S){ int i;
if (S-top 0) {
printf("\n車場(chǎng):");
printf("\n 位置 到達(dá)時(shí)間 車牌號(hào)\n");
for (i = 1; i = S-top; i++) {
printf(" %d ", i);
printf(" %d:%d ", S-stack[i]-reach.hour, S-stack[i]-reach.min);
puts(S-stack[i]-num);
}
} else printf("\n車場(chǎng)里沒有車");
}//顯示車場(chǎng)里的車輛情況
void List2(LinkQueueCar *W) {
QueueNode *p;
int i;
p = W-head-next;
if (W-head != W-rear) {
printf("\n等待車輛的號(hào)碼為:");
for (i = 1; (p != NULL); i++) {
printf("\n第 %d 車輛.", i);
puts(p-data-num);
p = p-next;
}
} else printf("\n便道里沒有車.");
printf("\n");
}//顯示便道上的車輛情況
void List(SeqStackCar S, LinkQueueCar W) {
int flag, tag;
flag = 1;
while (flag) {
printf(" 查看車輛列表顯示: ");
printf("\n 1.車場(chǎng)列表\n 2.便道列表\n 3.返回主菜單\n");
printf("\n請(qǐng)選擇 1~3:");
while (1) {
scanf("%d", tag);
if (tag = 1 tag = 3) break;
else printf("\n 輸入有誤,請(qǐng)重新選擇 1~3:");
}
switch (tag) {
case 1:List1(S);
break;
case 2:List2(W);
break;
case 3:flag = 0;
system("cls");
break;
default: break;
}
}
}//顯示,遍歷
int main() {
SeqStackCar Enter, Temp;
LinkQueueCar Wait;
int ch;
InitStack(Enter);
InitStack(Temp);
InitQueue(Wait);
while (1) {
printf("\n ############ 歡迎使用停車場(chǎng)系統(tǒng).############\t\n\n");
printf("\n\t * 1. 車輛到達(dá)登記.\t\n");
printf("\n\t * 2. 車輛離開登記.\t\n");
printf("\n\t * 3. 車輛列表顯示.\t\n");
printf("\n\t * 4. 退出系統(tǒng).\t\n\n");
while (1) {
printf(" 請(qǐng)選擇: ");
scanf("%d", ch);
if (ch = 1 ch = 4)break;
else printf("\n 輸入有誤,請(qǐng)重新選擇: 1~4: ");
}
switch (ch) {
case 1:Arrival(Enter, Wait);
break;
case 2:Leave(Enter, Temp, Wait);
break;
case 3:List(Enter, Wait);
break;
case 4:exit(0);
default: break;
}
}
}// 自定義函數(shù)
代碼如下,僅實(shí)現(xiàn)功能,未考慮安全等情況.
//ParkingTest.java
/**
*?停車程序入口.本示例為考慮數(shù)據(jù)安全等.僅作為示例,未經(jīng)調(diào)試.
*?@author?menglg
*
*/
public?class?ParkingTest?{
public?static?void?main(String[]?args)?{
//?程序入口,可以安排停車出車
for?(int?i?=?0;?i??100;?i++)?{
if?(ParkingManage.hasPosition())?{
ParkingManage.enterParking(i?+?"");
continue;
}
break;
}
for?(int?i?=?0;?i??100;?i++)?{
ParkingManage.outParking(i?+?"");
}
System.out.println(ParkingManage.totalCost());
}
}
//ParkingManage.java
import?java.util.ArrayList;
import?java.util.Date;
import?java.util.List;
public?class?ParkingManage?{
private?static?ListParking?parkings?=?new?ArrayList();
private?static?final?int?maxNumber?=?100;
private?static?int?currentNumber;
public?static?void?enterParking(String?lpn)?{
if?(lpn?==?null?||?lpn.length()?==?0)?{
return;
}
Parking?p?=?new?Parking(lpn);
p.setEnterDate(new?Date());
parkings.add(p);
}
public?static?void?outParking(String?lpn)?{
if?(lpn?==?null?||?lpn.length()?==?0)?{
return;
}
for?(Parking?p?:?parkings)?{
if?(!lpn.equals(p.getLpn()))
continue;
Date?now?=?new?Date();
p.setOutDate(now);
parkings.remove(p);
currentNumber?+=?p.getCost();
break;
}
}
public?static?int?totalCost()?{
return?currentNumber;
}
public?static?boolean?hasPosition()?{
return?parkings.size()??maxNumber;
}
}
//Parking.java
import?java.util.Date;
public?class?Parking?{
private?String?lpn;
private?Date?enterDate;
private?Date?outDate;
private?int?cost;
public?Parking(String?lpn)?{
this.lpn?=?lpn;
}
public?String?getLpn()?{
return?lpn;
}
public?Date?getEnterDate()?{
return?enterDate;
}
public?Date?getOutDate()?{
return?outDate;
}
public?int?getCost()?{
if(outDate?==?null?||?enterDate?==?null){
return?0;
}
//停車時(shí)間,單位毫秒
long?time?=?outDate.getTime()?-?enterDate.getTime();
long?hour?=?60*60*1000;
if(time??hour){
cost?=?3;
}else?if(time%hour?==?0){
cost?=?(int)(time/hour?*?2);
}else{
cost?=?(int)((time/hour+1)?*?2);
}
return?cost;
}
public?void?setLpn(String?lpn)?{
this.lpn?=?lpn;
}
public?void?setEnterDate(Date?enterDate)?{
this.enterDate?=?enterDate;
}
public?void?setOutDate(Date?outDate)?{
this.outDate?=?outDate;
}
public?void?setCost(int?cost)?{
this.cost?=?cost;
}
}
本文名稱:java停車場(chǎng)代碼 停車場(chǎng)系統(tǒng)java
本文鏈接:http://jinyejixie.com/article40/hpcjho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、外貿(mào)建站、全網(wǎng)營(yíng)銷推廣、動(dòng)態(tài)網(wǎng)站、商城網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)