導航:首頁 > 編程語言 > atm系統java

atm系統java

發布時間:2022-07-20 11:13:37

java項目編程----ATM系統

ATM系統勢必要把,安全性放在第一位,那麼用Java的多線程以及鎖可以解決多用戶操作統一賬戶的情況,關於每登錄進來一個賬戶,也可以寫一個事件監聽,關於異常也就是你說的取款記得要用同步鎖(synchronized) ,還有什麼不明白的嗎

❷ 就是用JAVA編寫一個ATM的程序

你是做實習還是做真實項目,如果是真實項目,估計夠嗆,因為ATM這些要用嵌入式開發,Java需要環境,而且效率低,如果僅僅是做練習,你可以用JFrame來實現 或者swing,其實說白這些不過是一些框架類庫,你安裝了這些框架類庫,然後用一個類去繼承窗體類,其他的和一些窗體軟體開發是一樣的,用的是事件機制,說白了就是觀察者設計模式。

❸ 如何用Java編寫模擬ATM取款機的程序

import java.io.IOException;

/**
* ATM機類
*
* 查看余額
*
* 取款
*
* 存款
*
* 退出系統
*
*
*
*/

public class ATM {
static double yue = 1200.00;

public static void main(String[] arg) {
ATM localTest1 = new ATM();
localTest1.ATM_Operate();
}

/**
* ATM機的操作
*/
private void ATM_Operate() {
System.out.println("歡迎使用中國工商銀行ATM取款機");
System.out.println("1、查看余額 2、取款");
System.out.println("3、存款 0、退出");
System.out.print("請輸入您需要的服務:");
byte[] buffer = new byte[512];
try {
int count = System.in.read(buffer);// 返回實際讀取的位元組數
System.out.print("您輸入的是:");
for (int i = 0; i < count; i++) {
System.out.print("" + (char) buffer[i]);
}
if ((char) buffer[0] == '1') {
// 查看余額
System.out.println("您的余額是:¥" + yue + "元");
System.out.println();
ATM_Operate();
} else if ((char) buffer[0] == '2') {
// 取款
withdrawal();
System.out.println();
ATM_Operate();
} else if ((char) buffer[0] == '3') {
// 存款
deposit();
System.out.println();
ATM_Operate();
} else if ((char) buffer[0] == '0') {
// 退出
System.out.println("您已經成功退出系統,謝謝你的使用");
System.exit(0);
} else {
System.out.println("輸入不合法,請重新輸入");
System.out.println();
ATM_Operate();
}

} catch (IOException e) {
e.printStackTrace();
}
}

/**
* 取款
*
* @throws IOException
*/
private void withdrawal() throws IOException {
byte[] buffer = new byte[512];

System.out.print("請輸入您要取出的金額:¥");
int count2 = System.in.read(buffer);// 返回實際讀取的位元組數
System.out.print("您輸入的金額是:");
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
}
System.out.println();
// 字元0 ~ 9對應ASCII值48 ~ 57
boolean flag = false;
for (int i = 0; i < count2 - 1; i++) {
if ((char) buffer[i] > 47 && (char) buffer[i] < 58) {
if (i == count2 - 2) {
flag = true;
}
} else {
// 輸入的字元不是數值
System.out.println("輸入不合法,請重新輸入");
withdrawal();
break;
}
}
System.out.println();
if (flag) {
System.out.print("您已成功取出¥:");
String num = "";
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
num += (char) buffer[i];
}
yue -= Double.valueOf(num);
System.out.print(",現在余額¥:" + yue);

}
}

/**
* 存款
*
* @throws IOException
*/
private void deposit() throws IOException {
byte[] buffer = new byte[512];

System.out.print("請輸入您要存入的金額:¥");
int count2 = System.in.read(buffer);// 返回實際讀取的位元組數
System.out.print("您輸入的金額是:");
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
}
System.out.println();
// 字元0 ~ 9對應ASCII值48 ~ 57
boolean flag = false;
for (int i = 0; i < count2 - 1; i++) {
if ((char) buffer[i] > 47 && (char) buffer[i] < 58) {
if (i == count2 - 2) {
flag = true;
}
} else {
// 輸入的字元不是數值
System.out.println("輸入不合法,請重新輸入");
withdrawal();
break;
}
}
System.out.println();
if (flag) {
System.out.print("您已成功存入¥:");
String num = "";
for (int i = 0; i < count2 - 1; i++) {
System.out.print("" + (char) buffer[i]);
num += (char) buffer[i];
}
yue += Double.valueOf(num);
System.out.print(",現在余額¥:" + yue);

}
}
}

❹ 用java做ATM系統

在itjob時做過這項目可以將 賬戶封裝成一個類User 其中包含基本屬性 int id; String passWord; folat money; String name;
可以通過構造方法 創建多個 賬戶實例 將這些實例存放在一個 List<User> user = new arrayList();
通過用戶輸入 ID 找到對應的 user 驗證其是否可以通過 最好將驗證用戶的方法寫成一個方法
這樣符合java 面向對象的思想 也去掉了許多重復的代碼

❺ 怎麼在java中的atm進行開戶和銷戶

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define LEN sizeof(struct Account)
#define RECORDCOUNT 5
#define MESSAGELENGTH 100
#define NAMELENGTH 100
#define VIEWCOUNT 5
#define DEFAULTBALANCE 0.00
#define SAVE 1
struct Account *head,*tail,*p; /*賬戶頭部和尾部指針*/
struct Account
{
char name[NAMELENGTH]; /* 賬戶名稱 */
float balance; /* 賬戶余額*/
char message[RECORDCOUNT][MESSAGELENGTH]; /* 交易記錄 */
int maxMessageIndex;
struct Account *next; /* 指向下一賬戶 */
};

void freeMemory(); /*釋放內存*/
void removeFirst(struct Account * account); /*移除第一個元素*/
void showMenu(); /*輸出選擇菜單*/
struct Account * findAccountByName(char name[]); /*通過賬戶名稱找到對應的賬戶 */
void writeMessage(struct Account * account,char message[]); /* 寫入交易記錄 */
void init(); /* 創建鏈表,並返回表頭指針 */
void openAccount(); /* 開戶 */
void closeAccount(); /* 銷戶 */
void deposit(); /* 存款*/
void withdraw(); /* 取款 */
void transfer(); /* 轉賬 */
void print(); /*輸出賬戶列表*/
void printMessage(); /*輸出賬戶交易記錄*/

int main()
{
init();
printf("歡迎使用ATM管理系統\n");
showMenu();
char choice;
fflush(stdin);
choice = getchar();
while(choice != '8')
{
switch(choice)
{
case '1':
openAccount();
showMenu();
fflush(stdin);
choice = getchar();
break;
case '2':
closeAccount();
showMenu();
fflush(stdin);
choice = getchar();
break;
case '3':
deposit();
showMenu();
fflush(stdin);
choice = getchar();
break;
case '4':
withdraw();
showMenu();
fflush(stdin);
choice = getchar();
break;
case '5':
transfer();
showMenu();
fflush(stdin);
choice = getchar();
break;
case '6':
print();
showMenu();
fflush(stdin);
choice = getchar();
break;
case '7':
printMessage();
showMenu();
fflush(stdin);
choice = getchar();
break;
default:
printf("無效菜單!\n");
showMenu();
fflush(stdin);
choice = getchar();
break;
}
}
freeMemory(); /*釋放內存*/
return 0;
}

void showMenu()
{
printf("請選擇 1.開戶 2.銷戶 3.存款 4.取款 5.轉賬 6.查看所有賬戶 7. 最近五筆交易 8.退出\n");
}

//通過賬戶名稱找到對應的賬戶
struct Account * findAccountByName(char name[])
{
if(strlen(name)>0)
{
p = head;
while(p != NULL)
{
if(strcmp(p->name,name)==0)
{
return p;
}
p = p->next;
}
}
return NULL;
}

//寫入交易記錄
void writeMessage(struct Account * account,char message[])
{
if(account->maxMessageIndex >= RECORDCOUNT)
{
removeFirst(account);
strcpy((account->message)[RECORDCOUNT-1],message);
account->maxMessageIndex = account->maxMessageIndex+1;
}
else
{
strcpy((account->message)[account->maxMessageIndex],message);
account->maxMessageIndex = account->maxMessageIndex+1;
}
}

void removeFirst(struct Account * account)
{
int i=0;
for(i=1; i<RECORDCOUNT; i++)
strcpy((account->message)[i-1],(account->message)[i]);
}

/* 初始化三個默認賬戶 */
void init()
{
p = (struct Account *)malloc(LEN); /* 創建第一個賬戶 */
p->balance=DEFAULTBALANCE;
p->next=NULL;
p->maxMessageIndex=0;
strcpy(p->name,"001");
head=p;
tail = p;

p = (struct Account *)malloc(LEN); /* 創建第二個賬戶 */
p->balance=DEFAULTBALANCE;
p->next=NULL;
p->maxMessageIndex=0;
strcpy(p->name,"002");
head->next = p;
tail = p;

p = (struct Account *)malloc(LEN); /* 創建第三個賬戶 */
p->balance=DEFAULTBALANCE;
p->next=NULL;
p->maxMessageIndex=0;
strcpy(p->name,"003");
tail->next = p;
tail = p;
}

//輸出賬戶列表信息
void print()
{
int i;
p = head;
i = 1;
while(p != NULL)
{
printf("第%d個賬戶的數據 賬戶名稱:%s 余額:%.2f\n",i++,p->name,p->balance);
p = p->next;
}
}
//釋放內存
void freeMemory()
{
p = head;
while(p != NULL)
{
head = p;
free(head);
p = p->next;
}
}

//開戶
void openAccount()
{
char name[NAMELENGTH];
printf("請輸入新開立的賬戶名稱 : ");
fflush(stdin);
gets(name);
if(strlen(name)>0)
{
p = (struct Account *)malloc(LEN); /* 創建一個新賬戶 */
p->balance=DEFAULTBALANCE;
p->next=NULL;
strcpy(p->name,name);
tail->next=p;
tail = p;
}
}
//銷戶
void closeAccount()
{
char name[NAMELENGTH];
printf("請輸入要銷戶的賬戶名稱 : ");
fflush(stdin);
gets(name);
if(strlen(name)>0)
{
struct Account *pre;
p = head;
pre=head;
int find=0;
while(p != NULL)
{
if(strcmp(p->name,name)==0)
{
if(head == p)
head=p->next;
else if(tail==p)
{
pre->next=NULL;
tail = pre;
}
else
{
pre->next = p->next;
}
find=1;
break;
}
pre = p;
p = p->next;
}
if(find==0)
printf("沒有此賬戶,無法完成銷戶!\n");
}
}

//存款
void deposit()
{
char name[NAMELENGTH];
printf("請輸入要存款的賬戶名稱 :");
fflush(stdin);
gets(name);
p = findAccountByName(name);
if(p!=NULL)
{
float savemoney;
printf("請輸入要存款的金額 : ");
scanf("%f",&savemoney);
while(savemoney<=0)
{
printf("存款額不能小於等於零,請重新輸入! ");
scanf("%f",&savemoney);
}
p->balance = p->balance+savemoney; /*存入賬戶金額*/
char message[MESSAGELENGTH];
sprintf(message,"賬戶%s成功存入%.2f元!\n",name,savemoney);
writeMessage(p,message); /*寫入交易記錄*/
}
else
printf("沒有此賬戶!\n");
}

//取款
void withdraw()
{
char name[NAMELENGTH];
printf("請輸入要取款的賬戶名稱 :");
fflush(stdin);
gets(name);
p = findAccountByName(name);
if(p!=NULL)
{
float savemoney;
printf("請輸入要取款的金額 : ");
fflush(stdin);
scanf("%f",&savemoney);
while(savemoney<=0 || savemoney> p->balance)
{
printf("存款額不能小於等於零或者大於余額,請重新輸入! ");
scanf("%f",&savemoney);
}
p->balance = p->balance-savemoney; /*存入賬戶金額*/
char message[MESSAGELENGTH];
sprintf(message,"賬戶%s成功取出%.2f元!\n",name,savemoney);
writeMessage(p,message); /*寫入交易記錄*/
}
else
printf("沒有此賬戶!\n");
}

//轉賬
void transfer()
{
char outname[NAMELENGTH];
char inname[NAMELENGTH];
struct Account *outAccount;
struct Account *inAccount;
printf("請輸入要轉出的賬戶名稱 :");
fflush(stdin);
gets(outname);
outAccount = findAccountByName(outname);
if(outAccount!=NULL)
{

printf("請輸入要轉入的賬戶名稱 :");
fflush(stdin);
gets(inname);
inAccount = findAccountByName(inname);
if(inAccount != NULL)
{
float money;
printf("請輸入要轉賬的金額 : ");
fflush(stdin);
scanf("%f",&money);
while(money<=0 || money> outAccount->balance)
{
printf("轉賬金額不能小於等於零或者大於轉出賬戶余額,請重新輸入! ");
scanf("%f",&money);
}
outAccount->balance = outAccount->balance-money; /*減少轉出賬戶金額*/
inAccount->balance = inAccount->balance+money; /*增加轉入賬戶金額*/
char outmessage[MESSAGELENGTH];
sprintf(outmessage,"賬戶%s成功轉出%.2f元!\n",outname,money);
writeMessage(outAccount,outmessage); /*寫入轉出交易記錄*/
char inmessage[MESSAGELENGTH];
sprintf(inmessage,"賬戶%s成功轉入%.2f元!\n",inname,money);
writeMessage(inAccount,inmessage); /*寫入轉出交易記錄*/
}
}
else
printf("沒有此轉出賬戶!\n");
}

//查看賬戶最近五筆交易歷史
void printMessage()
{
char name[NAMELENGTH];
printf("請輸入要查看最近五筆交易歷史的賬戶名稱 :");
fflush(stdin);
gets(name);
p = findAccountByName(name);
if(p!=NULL)
{
int i=0;
int end = (p->maxMessageIndex)>=VIEWCOUNT?VIEWCOUNT:(p->maxMessageIndex);
for(i=0; i<end; i++)
printf("%s",(p->message)[i]);
}
else
printf("沒有此賬戶!\n");
}

❻ java如何用list map集合寫ATM系統

你首先要了解什麼是Map,可以理解為Map是一堆key和value的映射集合(或者說一堆鍵值對的集合)。 List list = new ArrayList(); Map map = new HashMap(); list.add("a"); list.add("c"); list.add("b"); for(int i =0;i<list.size();i++){ map.put(i, list.get(i));   } 然後你要用Map里的東西,可以使用map.get(依)這種形式獲取,他和list.get(依); 相等都為「c」。 另外建議初始化Map和List的時候,定義好所存的數據類型。 List list = new ArrayList(); Map map = new HashMap()

❼ Java編程實現程序用於模擬ATM取款機。

package demo;

import java.util.Scanner;

public class Test3 {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int cnt=3;
String username = null;
String password = null;
double money = 1000;
String targetName = "admin33";
double targetMoney = 1000;
while(true){

if(username!=null&&password!=null){

if("admin".equals(username) && "123".equals(password)){
System.out.println("歡迎光臨");
while(true){
System.out.println("請選擇您的操作 1 取錢 2 存錢 3 轉賬 4 查詢 5 退出 ");
int n = scanner.nextInt();
if(n==1){//取錢
System.out.println("請輸入金額");
int getter = scanner.nextInt();
if(getter>=0){
if(getter<=5000){
if(getter<=money){
money-=getter;
}else{
System.out.println("余額不足");
}
}else{
System.out.println("單筆只能取5000及以下");
}
}else{
System.out.println("銀行不到給");
}
}else if(n==2){//存錢
System.out.println("請輸入金額");
int save = scanner.nextInt();
if(save>=0){
money+=save;
}
}else if(n==3){//轉賬
System.out.println("請輸入目標賬戶");
String target = scanner.next();
if(target.equals(targetName)){
System.out.println("請輸入金額");
int getter = scanner.nextInt();
if(getter>=0){
if(getter<=5000){
if(getter<=money){
money-=getter;
targetMoney+=getter;
}else{
System.out.println("余額不足");
}
}else{
System.out.println("單筆只能取5000及以下");
}
}else{
System.out.println("銀行不到給");
}
}
}else if(n==4){//查詢
System.out.println(money);
}else if(n==5){//退出
System.exit(0);
}else{
System.out.println("沒有該項服務");
}
}
}else{
cnt--;
System.out.println("輸入錯誤,您還有"+cnt+"次機會");
username=null;
password=null;
if(cnt<=0){
System.out.println("對不起,您的賬號被凍結,請到最近的營業廳解除凍結");
System.exit(0);
}
}
}else{
System.out.println("請輸入您的賬號");
username = scanner.next();
System.out.println("請輸入您的密碼");
password = scanner.next();
}
}
}
}

❽ 使用Java語言中(類和對象)編寫: ATM自動存取款機的程序

很簡單的例子,我把代碼貼出來吧
import java.util.Scanner;
public class ATM {
/**
* @param args
*/
public static void main(String[] args) {
Scanner in = null;
int result;
double drawMoney;
double depositMoney;
Account account = new Account();
while (true) {
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(ABC)中國農業銀行ATM自動存取款機☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("\n\t\t\t\t1.存款業務");
System.out.println("\n\t\t\t\t2.取款業務");
System.out.println("\n\t\t\t\t3.查詢余額");
System.out.println("\n\t\t\t\t4.退出ATM系統");
System.out.println("\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆中國農業銀行歡迎您的使用☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
in = new Scanner(System.in);
switch (in.nextInt()) {
case 1:
System.out.println("請輸入您的存款數額!");
depositMoney = in.nextDouble();
if(depositMoney < 0)
System.out.println("您的輸入無效,請重新輸入!");
result = account.deposit(depositMoney);
if(result == 0){
System.out.println("存款業務完成,是否顯示余額?Y/N");
if("Y".equalsIgnoreCase(in.next())){
System.out.println("您當前的余額為:"+account.checkCurrent());
}else {
break;
}
}else {
System.out.println("無法完成交易!");
break;
}
break;
case 2:
System.out.println("請輸入您的取款數額!");
drawMoney = in.nextDouble();
if (drawMoney < 0) {
System.out.println("您的輸入無效,請重新輸入!");
}
result = account.withDraw(drawMoney);
if (result == 0) {
System.out.println("存款業務完成,是否顯示余額?Y/N");
if("Y".equalsIgnoreCase(in.next())){
System.out.println("您當前的余額為:"+account.checkCurrent());
}else {
break;
}
} else {
System.out.println("無法完成交易!");
break;
}
case 3:
System.out.println("您當前的余額為:"+account.checkCurrent());
break;
case 4:
break;
default:
break;
}
}
}
}

public class Account {
private double currentMoney;//當前余額
public double getCurrentMoney() {
return currentMoney;
}
public void setCurrentMoney(double currentMoney) {
if (currentMoney > 0) {
this.currentMoney = currentMoney;
}
}
/**
* 取款業務
* @param drawMoney
* @return 0代表成功,1代表失敗
*/
public int withDraw(double drawMoney) {
if (currentMoney > 0 && drawMoney <= currentMoney) {
currentMoney -= drawMoney;
} else {
System.out.println("您的余額已不足!");
return 1;
}
return 0;
}
/**
* 存款業務
* @param depositMoney
* @return 0代表成功,1代表失敗
*/
public int deposit(double depositMoney) {
if (depositMoney > 0) {
currentMoney += depositMoney;
return 0;
}else {
System.out.println("您提交的存款為負數,無法完成存款交易");
return -1;
}
}
/**
* 查詢余額業務
* @return
*/
public double checkCurrent() {
return currentMoney;
}
}

❾ ATM取款機系統用JAVA怎麼做/

這里有個模擬
用戶:blucastle ,密碼: 123

import java.util.Scanner;

public class ATM1 {
Scanner sc = new Scanner(System.in);
private String name = "blucastle";

private double password = 123;

private double money = 500;

public void aloha(){
System.out.println("***********************");
System.out.println("* *");
System.out.println("* 歡迎使用ATM *");
System.out.println("* *");
System.out.println("* 製作人:blucastle*");
System.out.println("* *");
System.out.println("* *");
System.out.println("************************");
System.out.println("請輸入用戶名:");
String s = sc.next();
if(s.equals("blucastle")) {
System.out.println("請輸入密碼:");
int ss = sc.nextInt();
if(ss == 123) {
land();
}else{
System.out.println("密碼錯誤,系統退出");
System.exit(0);
}
}else{
System.out.println("用戶名錯誤,系統退出");
System.exit(0);
}

}
//登陸頁面
public void land(){

System.out.println("請選擇操作界面:1取款,2存款,3查詢,4轉賬,5退出");
int a = sc.nextInt();// 請加入此句
switch(a){
case 1 : // 去掉『』 因為a 為int型。
get();
break;
case 2 :
set();
break;
case 3 :
query();
break;
case 4 :
divert();
break;
case 5 :
SetOut();
break;
}
}

//取款
public void get(){
System.out.println("請輸入取款金額:");
int a = sc.nextInt();
if(a>money){
System.out.println("余額不足!");
}else{
money-=a;
System.out.println("當前余額為:"+money);
land();
}

}
//存款
public void set(){
System.out.println("請輸入存款金額:");
int a = sc.nextInt();
money+=a;
System.out.println("當前余額為:"+money);
land();

}
//查詢
public void query(){
System.out.println("當前余額為:"+money);
land();

}
//轉賬
public void divert(){
System.out.println("該功能站未開放!");
land();
}
//退出
public void SetOut(){
System.exit(0);
}

public static void main(String[] args) {
ATM1 atm = new ATM1();
atm.aloha();

}

}

❿ JAVA 模擬ATM櫃員機模擬程序

/**
要求:使用字元用戶界面。當輸入給定的卡號和密碼(初始卡號和密碼為123456)時,系統能登錄ATM櫃員機系統,用戶可以按照以下規則進行:
1、查詢余額:初始余額為10000元
2、ATM取款:每次取款金額為100的倍數,總額不超過5000元,支取金額不允許透支。
3、ATM存款:不能出現負存款。
4、修改密碼:新密碼長度不小於6位,不允許出現6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。
(卡號密碼余額放到文件中)
*/
publicclassTest{
privatestaticintaccount;
privatestaticintpassword;
privatestaticintmoney;
privatestaticbooleanisLogin;
static{
account=123456;
password=123456;
money=10000;
isLogin=false;
}
//存款
publicvoidcun(intcunKuan){
if(cunKuan>=0){
this.money+=cunKuan;
}else{
System.out.println("存款不能為負!");
}
}
//取款
publicvoidqu(intquKuan){
if(this.money-quKuan<0){
System.out.println("余額不足!");
return;
}

if(isValid(quKuan)){
this.money-=quKuan;
}else{
System.out.println("取款不能為負,且應為100的倍數!");
}
}
//判斷是否為有效的金額
privatebooleanisValid(intmoney){
if(money>=0&&money%100==0){
returntrue;
}
returnfalse;
}

//登陸
publicvoidlogin(){
System.out.println("請輸入賬號和密碼【格式為:賬號/密碼】");
Stringlogin=newScanner(System.in).next();
if(login.equalsIgnoreCase("123456/123456")){
this.isLogin=true;
}else{
System.out.println("賬號或者密碼錯誤,請重新輸入!");
login();
}
}

//主菜單
publicvoidshow(){
System.out.println("[1]存款");
System.out.println("[2]取款");
System.out.println("[3]退出");
System.out.println("請輸入:");
intkey=newScanner(System.in).nextInt();
switch(key){
case1:
cun(newScanner(System.in).nextInt());
break;
case2:
qu(newScanner(System.in).nextInt());
break;
case3:
System.exit(0);
default:
break;
}
}
publicstaticvoidmain(String[]args){
Testt=newTest();
t.login();
if(t.isLogin){
for(;;){
t.show();
System.out.println("您當前的余額為:"+t.money);
}
}

}
}

閱讀全文

與atm系統java相關的資料

熱點內容
android自動連接指定wifi 瀏覽:491
用紙做超簡單又解壓的東西 瀏覽:596
國密2演算法是對稱的嗎 瀏覽:465
nc65伺服器地址配置 瀏覽:522
單片機實驗報告電子琴 瀏覽:744
程序員恢復微信文件代碼 瀏覽:517
有漁python 瀏覽:81
pdf字體加深 瀏覽:206
怎麼做一個minecraft伺服器 瀏覽:771
c語言實現ls命令 瀏覽:663
小洋糕解壓視頻 瀏覽:450
域名內網訪問內網伺服器地址 瀏覽:138
我的世界伺服器如何摳掉金幣 瀏覽:223
域名與ip地址通過什麼伺服器查 瀏覽:96
企業網站需要什麼雲伺服器配置 瀏覽:910
遼事通伺服器出現錯誤是什麼原因 瀏覽:766
能否將一個表格的子表加密 瀏覽:64
手機ios微信收藏怎麼加密 瀏覽:594
安卓如何改黑色 瀏覽:331
oracle資料庫導出命令 瀏覽:697