天天看點

java執行個體 之 商品管理系統一、需求分析二、具體實作【END】初次學習若有不足之處請見諒,歡迎留言批評指出。

一、需求分析

  • 實作從鍵盤輸入商品編号、商品姓名、商品價格。
  • 實作根據商品編号修改商品的資訊。
  • 實作商品的查詢。

二、具體實作

1、定義變量

package 商品管理系統;
public class shangping {
	private int key;
	private String name;
	private double value;
	
	public int getKey() {
		return key;
	}
	public void setKey(int key) {
		this.key = key;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getValue() {
		return value;
	}
	public void setValue(double value) {
		this.value = value;
	}
	public shangping(int key,String name,double value){
		this.key=key;
		this.name=name;
		this.value=value;
	}
	public shangping(){	
	}
	public void showInfo(){		
		System.out.println("編号:"+key+",名稱:"+name+",價格:"+value);
	}
}
           
  • 收獲:
  • getX()、setX()可以快捷生成,右擊—>Source—>Generate Getters and Setters。
  • 為什麼要建構
public shangping(){	
	}
           
  • 原因是類shangping它本身就有一個構造方法去用來執行個體化對象,但你重寫了有三個參數的構造方法之後,無參的會消失,這樣就不能給類shangping執行個體化對象了。

2、方法類

package 商品管理系統;

import java.util.Scanner;
import 商品管理系統.shangping;

public class fangfa {
	static shangping [] sp;// 聲明對象數組名
	static int size;// 數組的長度
	
	public static void luru() {
		Scanner scanner=new Scanner(System.in);
		do{
			System.out.println("請輸入商品個數:");
			size=scanner.nextInt();
		}while(size<=0);
		// 建立數組對象
		sp = new shangping[size];
		for(int i=0;i<size;i++){
			System.out.println("請輸入商品編号:");
			int k=scanner.nextInt();
			System.out.println("請輸入商品姓名:");
			// int類型輸入後接String類型要加一句
			scanner.nextLine();
			String n=scanner.nextLine();
			System.out.println("請輸入商品價格:");
			double db = scanner.nextDouble();
			// 建立商品對象并複制給第i個元素
			sp[i] = new shangping(k,n,db);
		}
	}
	public static void xiugai() {
		Scanner scanner=new Scanner(System.in);
		System.out.println("請輸入要修改的商品編号:");
		int h=scanner.nextInt();
		int flag=0;
		for(int i=0;i<sp.length;i++){
			if(sp[i].getKey()==h){
				flag=i;
				break;
			}
		}
		System.out.println("請輸入商品編号:");
		int k=scanner.nextInt();
		System.out.println("請輸入商品姓名:");
		// int類型輸入後接String類型要加一句
		scanner.nextLine();
		String n=scanner.nextLine();
		System.out.println("請輸入商品價格:");
		double db = scanner.nextDouble();
		sp[flag] = new shangping(k,n,db);
	}
	public static void chaxun() {
		for(shangping s:sp){
			s.showInfo();
		}
	}
}
           
  • 收獲:
  • 自定義類數組:
public shangping(int key,String name,double value){
		this.key=key;
		this.name=name;
		this.value=value;
	}
           
static shangping [] sp;// 聲明對象數組名 (數組的類型+[]+數組名)
  static int size;// 數組的長度
  // 建立商品對象并複制給第i個元素
  sp[i] = new shangping(k,n,db);
           
  • for (循環變量類型 循環變量名稱 : 要被周遊的對象) 循環體;
for(shangping s:sp){
	s.showInfo();
           

3、測試類

package 商品管理系統;

import 商品管理系統.fangfa;
import java.util.Scanner;

public class Jiemian {

	public static void main(String[] args) {
		Jiemian jm = new Jiemian();
		jm.menu();
		
	}
	public void menu(){
		System.out.println("範璟琛便利店");
		System.out.println("-----------------------------------");
		System.out.println("1.錄入商品資訊");
		System.out.println("2.修改商品資訊");
		System.out.println("3.查詢商品資訊");
		Scanner s = new Scanner(System.in);
		System.out.println("請輸入您的選項:");
		int bh = s.nextInt();
		switch (bh) { 
		case 1:
			fangfa.luru();
			menu();
			break;
		case 2:
			fangfa.xiugai();
			menu();
			break;
		case 3:
			fangfa.chaxun();
			menu();
			break;
		}
	}
}

           

【END】初次學習若有不足之處請見諒,歡迎留言批評指出。

繼續閱讀