java實現(xiàn)簡單控制臺通訊錄

通過主菜單對各級子菜單進行控制,并實現(xiàn)添加記錄,查找記錄,刪除記錄,修改記錄,排序記錄,以及退出系統(tǒng)功能的實現(xiàn)。一共六部分的功能模塊。

10年的水富網(wǎng)站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整水富建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“水富網(wǎng)站設計”,“水富網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

java實現(xiàn)簡單控制臺通訊錄

上面的圖就是每個模塊具有的功能,而且還用到了正則表達式判斷輸入的是否符合規(guī)則,這個系統(tǒng)體現(xiàn)了MVC的設計模式,分工調用很清晰。

主要包含了下面幾個類:

java實現(xiàn)簡單控制臺通訊錄

APP類:程序的主函數(shù)類,程序開始的入口
Menu類:里面都是簡單頁面顯示的效果,沒有功能的實現(xiàn)。
TelNoteRegex類:正則表達式,判斷是否輸入合格,都在這個方法中。
Operate類:業(yè)務邏輯類,全部功能的實現(xiàn)基本都集中在這個類中。
Person類:封裝數(shù)據(jù)。

java實現(xiàn)簡單控制臺通訊錄

具體的實現(xiàn)代碼:

App類的實現(xiàn)代碼:

package com.bjsxt.iphone;
public class App {
 public static void main(String[] args) {
  new App().start();
 }
 public void start(){
  Menu m=new Menu();
  Operate o=new Operate();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.mainMenu();
   int key=reg.menuRegex(1, 6);
   switch(key){
   case 1:
    o.addLogic();
    break;
   case 2:
    o.searchLogic();
    break;
   case 3:
    o.modifyLogicLogic();
    break;
   case 4:
    o.deleteLogic();
    break;
   case 5:
    o.orderLogic();
    break;
   case 6:
    System.exit(0);
    break;
   }
  }
 }
}

Person類具體的實現(xiàn)代碼:

package com.bjsxt.iphone;
public class Person {
 private int id;//用戶ID屬性
 private String name;//用戶姓名屬性
 private String age;//用戶年齡屬性
 private String sex;//用戶性別屬性
 private String telNum;//用戶電話號碼屬性
 private String address;//用戶地址屬性
 public Person(){}
 public Person(int id,String name,String age,String sex,String telNum,String address){
  this.id=id;
  this.name=name;
  this.age=age;
  this.sex=sex;
  this.telNum=telNum;
  this.address=address;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id=id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getAge() {
  return age;
 }
 public void setAge(String age) {
  this.age = age;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public String getTelNum() {
  return telNum;
 }
 public void setTelNum(String telNum) {
  this.telNum = telNum;
 }
 public String getAddress() {
  return address;
 }
 public void setAddress(String address) {
  this.address = address;
 }
}

TelNoteRegex類具體代碼:

package com.bjsxt.iphone;
import java.util.Scanner;
public class TelNoteRegex {
 //對菜單項校驗
 @SuppressWarnings("resource")
 public int menuRegex(int min,int max){
  String regex="[0-9]{1}";
  Scanner sc=new Scanner(System.in);
  while(true){
   String input=sc.nextLine();
   //根據(jù)合法性的校驗
   if(input.matches(regex)){
    int key=Integer.parseInt(input);
    if(key>=min && key<=max){
     return key;
    }else{
     System.out.println("輸入的菜單項不符合要求!");
    }
   }else{
    System.out.println("輸入內容不正確!");
   }
  }

 }

 //用戶輸入姓名的驗證
 @SuppressWarnings("resource")
 public String nameRegex(String name){
  String pattern ="[\\u4e00-\\u9fa5]+";
  String str=name;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入中文漢字");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶輸入年齡的驗證
 @SuppressWarnings("resource")
 public String ageRegex(String age){
  String pattern ="^([0-9]|[0-9]{2}|100)$";
  String str=age;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入數(shù)字");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶性別的驗證
 @SuppressWarnings("resource")
 public String sexRegex(String sex){
  String pattern ="[男女MmFf]";
  String str=sex;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入男女MmFf");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶輸入電話號碼的驗證
 @SuppressWarnings("resource")
 public String telNumRegex(String telNum){
  String pattern ="[0-9]{11}";
  String str=telNum;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入11位的手機號碼");
    str=sc.nextLine();
    continue;
   }
  }
 }
 //用戶輸入地址的驗證
 @SuppressWarnings("resource")
 public String addressRegex(String address){
  String pattern ="[a-zA-Z[0-9]]{1,15}";
  String str=address;
  Scanner sc=new Scanner(System.in);
  while(true){
   if(str.matches(pattern)){
    return str;
   }else{
    System.out.println("輸入不合法字符,請重新輸入1到15個英文大小寫或是數(shù)字");
    str=sc.nextLine();
    continue;
   }
  }
 }
}

Menu類代碼的具體實現(xiàn):

package com.bjsxt.iphone;
public class Menu {
 //主界面
 public void mainMenu() {
  System.out.println("*************************");
  System.out.println("**  1 添加記錄  **");
  System.out.println("**  2 查找記錄  **");
  System.out.println("**  3 修改記錄  **");
  System.out.println("**  4 刪除記錄  **");
  System.out.println("**  5 排序記錄  **");
  System.out.println("**  6 退出系統(tǒng)  **");
  System.out.println("*************************");
 }

 //添加界面
 public void addMenu () {
  System.out.println("*************************");
  System.out.println("**  1 添加新記錄  **");
  System.out.println("**  2 查看全記錄  **");
  System.out.println("**  3 返回上一級  **");
  System.out.println("*************************");
 }

 //查找界面
 public void searchMenu () {
  System.out.println("*************************");
  System.out.println("**  1 按姓名查找  **");
  System.out.println("**  2 按年齡查找  **");
  System.out.println("**  3 按性別查找  **");
  System.out.println("**  4 按號碼查找  **");
  System.out.println("**  5 按住址查找  **");
  System.out.println("**  6 查看全記錄  **");
  System.out.println("**  7 返回上一級  **");
  System.out.println("*************************");
 }

 //修改界面
 public void modifyMenu () {
  System.out.println("*************************");
  System.out.println("**  1 查看全記錄   **");
  System.out.println("**  2 修改指定記錄  **");
  System.out.println("**  3 返回上一級   **");
  System.out.println("*************************");
 }
 //修改子界面
 public void subModifyMenu () {
  System.out.println("*************************");
  System.out.println("**  1 修改姓名    **");
  System.out.println("**  2 修改年齡    **");
  System.out.println("**  3 修改性別    **");
  System.out.println("**  4 修改號碼    **");
  System.out.println("**  5 修改住址    **");
  System.out.println("**  6 返回上一級  **");
  System.out.println("*************************");
 }

 //刪除界面
 public void deleteMenu () {
  System.out.println("*************************");
  System.out.println("**  1 查看全記錄  **");
  System.out.println("**  2 刪除指定記錄 **");
  System.out.println("**  3 刪除全部記錄 **");
  System.out.println("**  4 返回上一級  **");
  System.out.println("*************************");
 }
 //排序界面
 public void orderMenu () {
  System.out.println("*************************");
  System.out.println("**  1 按姓名排序   **");
  System.out.println("**  2 按年齡排序  **");
  System.out.println("**  3 按性別排序  **");
  System.out.println("**  4 查看全部記錄 **");
  System.out.println("**  5 返回上一級  **");
  System.out.println("*************************");
 }
}

Operate類的具體實現(xiàn):

package com.bjsxt.iphone;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class Operate{

 private List<Person> list=new ArrayList<Person>();
 //用戶添加信息業(yè)務邏輯控制
 public void addLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.addMenu();
   int key=reg.menuRegex(1, 3);
   switch(key){
   case 1:
    addOperation ();
    break;
   case 2:
    showAll();
    break;
   case 3:
    return;
   }
  }
 }

 //用戶查詢信息業(yè)務邏輯控
 public void searchLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.searchMenu();
   int key=reg.menuRegex(1, 7);
   switch(key){
   case 1:
    searchByName();
    break;
   case 2:
    searchByAge();
    break;
   case 3:
    searchBySex();
    break;
   case 4:
    searchByTelNum();
    break;
   case 5:
    searchByAdd();
    break;
   case 6:
    showAll();
    break;
   case 7:
    return;
   }
  }
 }
 //修改信息業(yè)務邏輯控制
 public void modifyLogicLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.modifyMenu();
   int key=reg.menuRegex(1, 3);
   switch(key){
   case 1:
    showAll();
    break;
   case 2:
    modifyLogicLogic1();
    break;
   case 3:
    return;
   }
  }
 }
 //修改有三層跳轉
 public void modifyLogicLogic1(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.subModifyMenu();
   int key=reg.menuRegex(1, 6);
   switch(key){
   case 1:
    nameModify();
    break;
   case 2:
    ageModify();
    break;
   case 3:
    sexModify();
    break;
   case 4:
    telNumModify();
    break;
   case 5:
    addressModify();
    break;
   case 6:
    return;
   }
  }
 }
 //刪除信息業(yè)務邏輯控制
 public void deleteLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.deleteMenu();
   int key=reg.menuRegex(1, 4);
   switch(key){
   case 1:
    showAll();
    break;
   case 2:
    delete();
    break;
   case 3:
    deleteAll();
    break;
   case 4:
    return;
   }
  }
 }

 //排序信息業(yè)務邏輯控制
 public void orderLogic(){
  Menu m=new Menu();
  TelNoteRegex reg=new TelNoteRegex();
  while(true){
   m.orderMenu();
   int key=reg.menuRegex(1, 5);
   switch(key){
   case 1:
    orderName();
    break;
   case 2:
    orderAge();
    break;
   case 3:
    orderSex();
    break;
   case 4:
    showAll();
    break;
   case 5:
    return;
   }
  }
 }

 //添加新用戶信息
 @SuppressWarnings("resource")
 public void addOperation (){
   TelNoteRegex reg=new TelNoteRegex();
   Scanner sc=new Scanner(System.in); 
   System.out.println("請輸入聯(lián)系人id:");
   String id=sc.nextLine(); 
   System.out.println("請輸入要添加的姓名:");
   String name=sc.nextLine();
   name=reg.nameRegex(name);
   System.out.println("請輸入要添加的年齡:");
   String age=sc.nextLine();
   age=reg.ageRegex(age);
   System.out.println("請輸入要添加的性別:");
   String sex=sc.nextLine();
   sex=reg.sexRegex(sex);
   System.out.println("請輸入要添加的手機號碼:");
   String telNum=sc.nextLine();
   telNum=reg.telNumRegex(telNum);
   System.out.println("請輸入要添加的地址:");
   String address=sc.nextLine();
   address=reg.addressRegex(address);
   int personId=Integer.parseInt(id);
   Person p=new Person(personId,name,age,sex,telNum,address);
   list.add(p);

 }
// //判斷序號是否已經存在插入成功失敗
//   @SuppressWarnings("resource")
//   public String judgeId(String id){
//    Scanner sc=new Scanner(System.in);
//    Iterator<Person> it=list.iterator();
//    String newId=id;
//    while(it.hasNext()){
//     Person p=(Person)it.next();
//     if(newId.equals(p.getId())){
//      System.out.println("此序號已經存在,請重新輸入序號");
//      newId=sc.nextLine();
//      continue;
//     }else{
//      return newId;
//     }
//    }
//    return id;
//   }

 //查詢全部用戶信息
 public void showAll(){
  System.out.println("序號\t\t"+"姓名\t\t"+"年齡\t\t"+"性別\t\t"+"手機號\t\t"+"地址");
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
  }
 }
 //按姓名查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByName(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的姓名:");
  Scanner sc=new Scanner(System.in);
  String name=sc.nextLine();
  name=reg.nameRegex(name);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(name.equals(p.getName())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按年齡查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByAge(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的年齡:");
  Scanner sc=new Scanner(System.in);
  String age=sc.nextLine();
  age=reg.ageRegex(age);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(age.equals(p.getAge())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按性別查詢用戶信息
 @SuppressWarnings("resource")
 public void searchBySex(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的性別:");
  Scanner sc=new Scanner(System.in);
  String sex=sc.nextLine();
  sex=reg.sexRegex(sex);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(sex.equals(p.getSex())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按電話號碼查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByTelNum(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的電話號碼:");
  Scanner sc=new Scanner(System.in);
  String telNum=sc.nextLine();
  telNum=reg.telNumRegex(telNum);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(telNum.equals(p.getTelNum())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
 //按地址查詢用戶信息
 @SuppressWarnings("resource")
 public void searchByAdd(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("輸入你要查詢的地址:");
  Scanner sc=new Scanner(System.in);
  String address=sc.nextLine();
  address=reg.addressRegex(address);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(address.equals(p.getAddress())){
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }
  }
 }
// //修改指定記錄信息
// public void modify(){
//  System.out.println("請輸入你要修改的信息:");
//  
// }
 //修改姓名信息
 @SuppressWarnings("resource")
 public void nameModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的姓名:");
  String name=sc.nextLine();
  name=reg.nameRegex(name);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setName(name);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }

 }
 //修改年齡信息
 @SuppressWarnings("resource")
 public void ageModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的年齡:");
  String age=sc.nextLine();
  age=reg.ageRegex(age);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setAge(age);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }
 //修改性別信息
 @SuppressWarnings("resource")
 public void sexModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的性別:");
  String sex=sc.nextLine();
  sex=reg.sexRegex(sex);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setSex(sex);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }
 //修改號碼信息
 @SuppressWarnings("resource")
 public void telNumModify(){
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的電話號碼:");
  String telNum=sc.nextLine();
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setTelNum(telNum);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }
 //修改地址信息
 @SuppressWarnings("resource")
 public void addressModify(){
  TelNoteRegex reg=new TelNoteRegex();
  System.out.println("請輸入你要修改的序號:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  System.out.println("請輸入你要修改的地址:");
  String address=sc.nextLine();
  address=reg.addressRegex(address);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
   if(id==p.getId()){
    p.setAddress(address);
    System.out.println(p.getId()+"#"+"\t\t"+p.getName()+"\t\t"+p.getAge()+"\t\t"+p.getSex()+"\t\t"+p.getTelNum()+"\t\t"+p.getAddress());
   }else{
    System.out.println("修改失敗,請重試!");
   }
  }
 }

 //刪除指定用戶信息
 @SuppressWarnings("resource")
 public void delete(){
  System.out.println("請輸入你要刪除的id:");
  Scanner sc=new Scanner(System.in);
  String num=sc.nextLine();
  int id=Integer.parseInt(num);
  Iterator<Person> it=list.iterator();
  while(it.hasNext()){
   Person p=(Person)it.next();
    if(id==p.getId()){
     list.remove(id);
     System.out.println("刪除成功");
    }else{
     System.out.println("刪除失敗");
    }

  }

 }
 //刪除全部用戶信息
 public void deleteAll(){
  list.clear();
  System.out.println("刪除成功");
 }
 //按用戶姓名排序信息
 public void orderName(){
  Comparator<Person> comparator=new Comparator<Person>(){
   @Override
   public int compare(Person o1, Person o2) { 
    return o1.getName().compareTo(o2.getName());
   }
  };
  Collections.sort(list,comparator);
  showAll();
 }
 //按用戶年齡排序信息
 public void orderAge(){
  Comparator<Person> comparator=new Comparator<Person>(){
   @Override
   public int compare(Person o1, Person o2) { 
    return o1.getAge().compareTo(o2.getAge());
   }
  };
  Collections.sort(list,comparator);
  showAll();
 }
 //按用戶性別排序信息
 public void orderSex(){
  Comparator<Person> comparator=new Comparator<Person>(){
   @Override
   public int compare(Person o1, Person o2) { 
    return o1.getSex().compareTo(o2.getSex());
   }
  };
  Collections.sort(list,comparator);
  showAll();
 }
}

總結:這個項目讓我很清晰可以明白什么是面向對象,為什么說是java是面向對象的編程語言,程序的代碼都是對象在調用,也明白一個項目應該如何分工明確進行書寫,功能和視圖要分開,每個類都有自己特定的功能,各個類的功能不要相互卸載一起,這樣的代碼基本是復用不高的,如果分開明確,以后再添加功能模塊的時候,只需要增加功能,無需修改之前的代碼,很好的體現(xiàn)了開閉原則,對功能開發(fā),對修改內容關閉,這個項目也體現(xiàn)了MVC的設計模式,對我而言,這個項目讓我受益匪淺。

本文標題:java實現(xiàn)簡單控制臺通訊錄
當前地址:http://bm7419.com/article26/pcgijg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、Google外貿網(wǎng)站建設、企業(yè)建站、域名注冊網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司