您的位置:首页 > 编程语言

一个能实现收银功能的小代码

2013-05-10 16:20 399 查看
黑马IT训练营

随便写着玩的,高手路过勿吐槽,谢谢。

package day1;

import java.io.*;

import java.util.*;

public class Test_A {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

InputStreamReader reader = new InputStreamReader(System.in);

BufferedReader br = null;

List<Wares> list = new LinkedList<Wares>();

String str = "";

br = new BufferedReader(reader);

System.out.println("欢迎使用收银系统");

try {

while((str=br.readLine())!=null){

if("exit".equals(str)){

System.out.println("退出系统,谢谢使用");

break;

}

if("clear".equals(str)){

System.out.println("清空数据");

list.clear();

continue;

}

if("print".equals(str)){

printWares(list);

continue;

}

Wares wares = new Wares();

String result = checkInput(str,wares);

if(result!=null){

System.out.println(result+" 请重新输入商品信息");

continue;

}

list.add(wares);

System.out.println("******打印小票*******");

printWares(list);

System.out.println("******谢谢惠顾*******");

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

try {

if(br!=null)

br.close();

reader.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public static String checkInput(String str,Wares wares){

String[] arr = str.split(",");

if(arr.length>3){

return "输入格式错误!";

}

if(str.startsWith(",")){

return "没有输入商品名";

}

if(arr.length<2){

return "没有输入价格";

}

if(!arr[1].matches("\\d")){

return "商品价格应为数字";

}

double num = 1.0;

if(arr.length==3){

if(!arr[2].matches("\\d")){

return "商品数量应为数字";

}

num = Double.parseDouble(arr[2]);

}

wares.setName(arr[0]);

wares.setPrice(Double.parseDouble(arr[1]));

wares.setNum(num);

return null;

}

public static void printWares(List<Wares> list){

double sum =0;

for(int i=0;i<list.size();i++){

Wares wares = list.get(i);

double temp = wares.getNum()*wares.getPrice();

System.out.println("商品名为:"+wares.getName()+" 单价为:"+wares.getPrice()+

" 数量为:"+wares.getNum()+" 小计"+temp);

sum+=temp;

}

System.out.println("总价为:"+sum);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐