十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
//Example類文件Example.java
十余年的阜城網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整阜城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“阜城網(wǎng)站設(shè)計”,“阜城網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
package?cn.zhouhan;
import?java.util.Scanner;
public?class?Example?{
static?Drink?cola,?fanta,?blacktea,?greentea;
static?int?money;
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
cola?=?new?Drink("可樂",?50,?2.0,?1);
fanta?=?new?Drink("芬達",?40,?3.0,?2);
blacktea?=?new?Drink("紅茶",?30,?4.0,?3);
greentea?=?new?Drink("綠茶",?20,?5.0,?4);
money?=?500;
for()
{
System.out.println("-------------自動售貨機-------------");
cola.UserPrintDrinkInfo();
fanta.UserPrintDrinkInfo();
blacktea.UserPrintDrinkInfo();
greentea.UserPrintDrinkInfo();
System.out.println("----------------------------------");
System.out.println("1.購買飲料");
System.out.println("2.管理員查詢");
System.out.println("3.返回");
System.out.println("請輸入要執(zhí)行的操作序號:");
Scanner?scannerIndex?=?new?Scanner(System.in);
int?indexScanner?=?scannerIndex.nextInt();
switch(indexScanner)
{
case?1:
System.out.println("請選擇購買的飲料(1.可樂,2.芬達,3紅茶,4.綠茶):");
Scanner?numberScanner?=?new?Scanner(System.in);
int?buyIndex?=?numberScanner.nextInt();
Drink?drink?=?getDrink(buyIndex);
System.out.println("請輸入購買的數(shù)量:");
Scanner?countScanner?=?new?Scanner(System.in);
int?buyCount?=?countScanner.nextInt();
if?(buyCount??0)
{
System.out.println("您選擇了"?+?buyCount?+?"瓶"?+?drink.getName()?+?"."?);
System.out.println("總價格:"?+?drink.getPrice()?*?buyCount?+?"元,請投入1元或5元紙幣。");
System.out.println("確定購買?(1.確定,2.退款):");
Scanner?sureScanner?=?new?Scanner(System.in);
int?sure?=?sureScanner.nextInt();
if?(sure?==?1)
{
drink.sellDrink(buyCount);
money?+=?drink.getPrice()?*?buyCount;
System.out.println("您購買了"?+?buyCount?+?"瓶"?+?drink.getName()?+?",交易成功."?);
}
if?(sure?==2?)
{
System.out.println("退款成功!");
}
}
else
System.out.println("輸入的數(shù)量有誤!");
break;
case?2:
System.out.println("請輸入管理員密碼:");
Scanner?pwScanner?=?new?Scanner(System.in);
int?password?=?pwScanner.nextInt();
if?(password?==?123)
{
System.out.println("密碼正確,目前的余額為:"?+?money?+?"元。");
}
else
System.out.println("密碼錯誤。");
break;
case?3:
break;
default:
System.out.println("請輸入正確的數(shù)字。");
break;
}
}
}
public?static?Drink?getDrink(int?drinkIndex)
{
Drink?drink?=?null;
switch(drinkIndex)
{
case?1:
drink?=?cola;
System.out.println("您選擇了可樂。");
break;
case?2:
drink?=?fanta;
System.out.println("您選擇了芬達。");?
break;
case?3:
drink?=?blacktea;
System.out.println("您選擇了紅茶。");
break;
case?4:
drink?=?greentea;
System.out.println("您選擇了綠茶。");
break;
default:
//drink?=?null;
System.out.println("輸入錯誤,請輸入1~4的數(shù)字!");
}
return?drink;
}
}
//創(chuàng)建的Drink類文件Drink.java
package?cn.zhouhan;
public?class?Drink?{
private?String?name;
private?int?number;
private?double?price;
private?double?drinkMoney;
private?int?index;
public?Drink(String?name,?int?number,?double?price,?int?index)
{
this.name?=?name;
this.number?=?number;
this.price?=?price;
this.drinkMoney?=?number?*?price;
this.index?=?index;
}
public?String?getName()
{
return?this.name;
}
public?int?getNumber()
{
return?this.number;
}
public?double?getPrice()
{
return?this.price;
}
public?void?sellDrink(int?count)
{
this.number?-=?count;
this.drinkMoney?+=?this.price?*?count;
}
public?void?UserPrintDrinkInfo()
{
System.out.println("品名:"+?this.name?+",單價:"?+?this.price?+?"元,剩余數(shù)量:"?+?this.number?+?"瓶。");
}
}
就是專門寫一個類,他有一個方法根據(jù)傳入的參數(shù)不同,返回不同的對象。
比如有一臺自動售貨機AutoSeller, 然后它賣很多飲料Drink, 有茶Tea, 有可樂Cola, 當你去買的時候,你可能是通過按不同的按鈕,但對AutoSeller的實現(xiàn)來說,他可能都是同樣的方法,只是根據(jù)不同的參數(shù)(按鈕),返回給你不同的對象(Tea或Cola)。
public interface Drink {
enum Type {TEA, COLA};
}
public Tea implements Drink {
}
public Cola implements Drink {
}
public class AutoSeller {//工廠
public static Drink getDrink(Drink.Type type) {
switch(type) {
case TEA:
return new Tea();
case COLA:
return new Cola();
default:break;
}
}
}
如上, 在你選擇飲料按下按鈕里, 自動售貨機的代碼可能只要執(zhí)行AutoSeller.getDrink(type)就可以返回你想要的飲料了。
之所以要把Drink定義成接口,一般來講,用這種架構(gòu)的話, Drink里面會聲明一些接口方法, 這些方法是Tea和Cola都需要的, 但Drink不用關(guān)心方法的具體實現(xiàn), 具體實現(xiàn)只要由Tea和Cola去完成。
而你通過AutoSeller.getDrink(type)去拿到一個Drink對象后,可以用這個對象直接去調(diào)Drink中聲明的方法。
package com.test;
import java.util.Scanner;
import com.sun.java_cup.internal.internal_error;
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int c;
int gum=0,cho=0,pop=0,jui=0;
do{
Demo.play_bord();
c=s.nextInt();
if(c0||c6){
System.out.println("1-6 only ,input a new choice");
c=s.nextInt();
}
switch(c){
case 1:
System.out.println("here is your gum");
gum++;
break;
case 2:
System.out.println("here is your chocolate");
cho++;
break;
case 3:
System.out.println("here is your popcorn");
pop++;
break;
case 4:
System.out.println("here is your juice");
jui++;
break;
case 5:
System.out.println(gum+" gum are sold");
System.out.println(cho+" chocolate are sold");
System.out.println(pop+" popcorn are sold");
System.out.println(gum+" juice are sold");
break;
case 6:
System.out.println("system exit");
}
}while(c!=6);
}
public static void play_bord(){
System.out.println("****這是簡易售貨機,請按下數(shù)字選擇服務*****");
System.out.println("[1]:get gum");
System.out.println("[2]:get chocolate");
System.out.println("[3]:get popcorn");
System.out.println("[4]:get juice");
System.out.println("[5]:dispaly totalsold");
System.out.println("[6]:quit");
System.out.println("***************************");
}
}
剛好以前寫了個 改完給你了