日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java项目(注册和登录(成功后查看商品的信息))

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java项目(注册和登录(成功后查看商品的信息)) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 聲明
    • 第一步:
    • 第二步:
    • 第三步:
    • 第四步:
    • 第五步
    • 第六步:
    • 第七步:

聲明

題目:實現登錄和注冊功能
登錄成功后可以查看所有商品的信息(商品名稱,價格,銷量)

第一步:

package myproject;public class goods {private String name;private int price;private int consume;public goods(String name, int price, int consume) {this.name = name;this.price = price;this.consume = consume;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public int getConsume() {return consume;}public void setConsume(int consume) {this.consume = consume;} }

創建一個goods類,然后把商品屬性(名字,價格以及銷量)然后把構造函數寫上,以及各自屬性的setter和getter函數,緊接著寫下一個的goodsDao類

第二步:

package myproject;public class goodsDao {private database database1;public goodsDao(database database1) {this.database1 = database1;}public goods findbyname(String goods){goods goods3=null;for(goods goods1:database1.getLists()){if(goods1.getName().equals(goods)){goods3=goods1;break;}}return goods3;} }

這個類我感覺是用來操作數據庫里面的goods 的list ,以至于想要增刪改查時,不需要直接去動數據庫,直接來操作goodDao類即可

第三步:

package myproject;public class Account {private int accountID;private String accountName;private String password;public Account(int accountID, String accountName, String password) {this.accountID = accountID;this.accountName = accountName;this.password = password;}public int getAccountID() {return accountID;}public void setAccountID(int accountID) {this.accountID = accountID;}public String getAccountName() {return accountName;}public void setAccountName(String accountName) {this.accountName = accountName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;} }

這個的話,也就是跟goods那個性質一樣的,也是屬于數據庫里面的一樣東西。一個是物品,一個賬戶,這個類呢,也就是用來搞賬戶屬性的,但這個類不和數據庫接邊,同理,這個是放在數據庫里的,但是要和它接邊的話,那就是有了下面一個類,AccountDao類

第四步:

package myproject;public class AccountDao {private database database1;public AccountDao(database database1) {this.database1 = database1;}public Account findbyname(String name){Account account=null;for (Account account2:database1.getAccounts()) {if(account2.getAccountName().equals(name)){account=account2;break;}}return account;}public void insert(Account account1){database1.getAccounts().add(account1);}}

和那個goodsDao一樣,它也就是和數據接邊的Account操作的一系列函數所放的類

第五步

package myproject;import java.util.ArrayList; import java.util.List;public class database {List <goods> lists=new ArrayList<>();List <Account> accounts =new ArrayList<>();public List<Account> getAccounts() {return accounts;}public List<goods> getLists() { return lists; }public database(List<goods> lists) {this.lists = lists;}public database(List<goods> lists, List<Account> accounts) {this.lists = lists;this.accounts = accounts;}public void setLists(List<goods> lists) {this.lists = lists;}public database(){goods goods1=new goods("香蕉",20,50);goods goods2=new goods("蘋果",15,65);goods good3=new goods("火龍果",30,100);Account account1=new Account(100,"丘比特","123");lists.add(goods1);lists.add(goods2);lists.add(good3);accounts.add(account1);}}

這個也就是數據庫嘍,把goods和accounts放進lists里,然后new出來,兩個list都作為database 的成員屬性,即可寫出getter函數和sette函數進行關于數據庫里面的成員操作,另外需要把需要初始化的東西,放在database構造函數里面去即可。

第六步:

package myproject;import javax.swing.text.StyledEditorKit; import java.awt.*; import java.util.List; import java.util.Scanner;public class service {Scanner input1=new Scanner(System.in);private database database1;private goodsDao goodsDao1;private AccountDao accountDao1;private int accountID =100;public service(database database1) {this.accountDao1 = new AccountDao(database1);this.goodsDao1 = new goodsDao(database1);this.database1=database1;}public void start(){System.out.println("1. 登錄");System.out.println("2. 注冊");int choices =input1.nextInt();switch (choices){case 1: login();break;case 2:register();break;default: System.out.println("無效的選項,請重新輸入!");start();}}public void login(){System.out.println("請輸入注冊的用戶名:");String userName = input1.next();System.out.println("請輸入注冊的密碼:");String password = input1.next();Account account= accountDao1.findbyname(userName);if(account != null){//將數據庫中找到的賬戶,再根據其密碼和輸入的密碼比較if(account.getPassword().equals(password)){System.out.println("登錄成功!");showgoods();}else{System.out.println("密碼錯誤!");login();}}else{System.out.println("用戶名不存在!請重新輸入");login();}}public void register(){System.out.println("請輸入注冊的用戶名:");String userName = input1.next();System.out.println("請輸入注冊的密碼:");String password = input1.next();//判斷用戶名是否被注冊Account account = accountDao1.findbyname(userName);if(account != null){System.out.println("該用戶名已被注冊!輸入0返回上一層菜單,其他任意鍵繼續注冊");String result = input1.next();if(result.equals("0")){start();}else{register();}}else{//根據注冊的信息創建一個賬戶對象Account registAccount = new Account(accountID,userName,password);registAccount.setAccountName(userName);registAccount.setPassword(password);registAccount.setAccountID(++accountID);//將注冊的信息寫入數據庫accountDao1.insert(registAccount);//返回起始菜單start();}}public void showgoods(){List <goods> goods2= database1.getLists();for (int i = 0; i < goods2.size(); i++) {goods a=goods2.get(i);System.out.println("商品名稱:"+a.getName()+" 商品價格:"+a.getPrice()+"元"+" 商品銷量:"+a.getConsume()+"箱");}} }

這一步也就是最關鍵的一步,是一個service函數,按照我的理解也就是用來封裝一系列的操作(即服務器端所需要的做的操作),用來判斷 登錄 以及注冊等等操作,剛開始的話,我一直難以區別Dao類和service類感覺有點相像,都是操作數據庫,而且他們的類里面都有database1 數據,都可以直接去操作數據庫。

但是我們一般通過service類去對數據庫進行增刪改查的話,都是通過 Dao類去間接操作的,并非通過service里面的database1直接去,如果直接通過database1的話,那么我們的Dao類寫得就沒意義了。這是我個人總結吧。

第七步:

package myproject;public class main1 {public static void main(String[] args) {database database1 = new database();service services = new service(database1);services.start();} }

說實話,我感覺我的邏輯應該沒問題的,但一直搞不懂為什么那個最后show的時候它說我的database1是null,搞了一小時的報錯,等我研究一下,待會給大家答復

解決了,就眼瞎,忘了構造函數里面的一個this還沒寫,終究還是我太菜

總結

以上是生活随笔為你收集整理的java项目(注册和登录(成功后查看商品的信息))的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。