问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java新手求大神解答。主要求代码,有思路但是写不出啊。

发布网友 发布时间:2023-07-18 00:22

我来回答

3个回答

热心网友 时间:2024-11-29 04:27

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;

enum Huo {

    TX(1, "T恤", 245), WQX(2, "网球鞋", 570), WQP(3, "网球拍", 320);

    private int id;
    private String name;
    private double price;

    private Huo(int id, String name, double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    public static Huo getById(int id) {
        for (Huo item : Huo.values()) {
            if (item.id == id) {
                return item;
            }
        }
        return null;
    }
}

public class Test {

    private static Map<Integer, Integer> countMap = new HashMap<Integer, Integer>();

    private static double sum = 0;

    public static void main(String args[]) {

        Scanner in = new Scanner(System.in);
        while (true) {
            System.out.println("**********************************************");
            System.out.println("请选择购买的商品编号:");
            for (Huo item : Huo.values()) {
                System.out.print(item.getId() + ":" + item.getName() + "  ");
            }
            System.out.println();
            System.out.println("**********************************************");
            System.out.print("输入购买商品编号:");
            int id = in.nextInt();

            System.out.print("输入购买商品数量:");
            int count = in.nextInt();

            Integer tmp = countMap.get(id);
            if (tmp == null) {
                tmp = 0;
            }
            countMap.put(id, tmp + count);
            show();

            while (true) {
                System.out.print("是否继续(y/n):");
                String jixu = in.next();
                if ("Y".equalsIgnoreCase(jixu)) {
                    break;
                } else if ("N".equalsIgnoreCase(jixu)) {
                    System.out.print("请支付:");
                    double fu = in.nextDouble();
                    System.out.println("应付金额:" + sum);
                    System.out.println("客户支付:" + fu);
                    System.out.println("找钱:" + (fu - sum));
                    System.exit(0);
                } else {
                    System.out.print("输入错误");
                }
            }
        }
    }

    private static void show() {
        Iterator<Integer> it = countMap.keySet().iterator();
        while (it.hasNext()) {
            Integer key = it.next();
            Integer count = countMap.get(key);
            Huo huo = Huo.getById(key);
            double heji = huo.getPrice() * count;
            System.out.println(huo.getName() + "¥" + huo.getPrice() + "   数量:" + count + "    合计:" + heji);
            sum += heji;
        }
    }
}

热心网友 时间:2024-11-29 04:27

import java.util.*;
class  Shop
{
 public static void main(String[] args) 
 {
  int a,b,e,num=0;
  String c="y",d="y",Y="y";
  Scanner in=new Scanner(System.in);
  System.out.print("请选择购买的商品编号:1.T恤    2.网球鞋   3.网球拍!\n**********************************************\n");
  while (d.equals(Y))
  {
  
   while(c.equals(Y)){
   System.out.print("请输入购买商品编号:");
   a=in.nextInt();
   System.out.print("请输入购买商品数量:");
   b=in.nextInt();
   if(a==1){
    num+=245*b;
    }else if(a==2){
     num+=570*b;}
   else{
    num+=100*b;
   }
   System.out.print("是否继续(y/n):");
   c=in.next();
   }
   System.out.println("合计¥:"+num);
   System.out.print("是否继续(y/n):");
   d=in.next();
  }
  System.out.println("应付金额:"+num);
  System.out.println("顾客支付:");
  e=in.nextInt();
  System.out.println("找钱"+(e-num));
 }
}

热心网友 时间:2024-11-29 04:28

我先问下,是否继续这个分支是用来循环输入购买商品跟数量的对吧?
那么比较简单的方法就是用一个变量来保存,在代码开头加入一句 float count=0;
去保存你的数值
需要在是否继续(y/n):y这句话前加入一个

count+=每次小结合计的数值

最后System.out.println("应付金额:"+count);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...下图方式对折一分为二裁开成为A2纸(如图(2) 明信片怎么样固定 为什么我的高考录取通知书还没有到? 梦见我孙女光秃秃的躺在路上的预兆 师兄请按剧本来分集剧情介绍(第1-40全集)大结局,几点更新,在哪个台播出... 发挥什么优势 三合一烤肠机接煤气罐接口可以换方向吗 关于福睿斯4年,3万公里保养问题请教? 福睿斯水箱加水在哪里 福睿斯水箱加水在哪里加 CSGO武器箱怎么获得 CSGO武器箱钥匙在哪买便宜 We want to make sure that everything goes perfect on this... 八百里取公章是真的吗 gl8取公章是真的假的 我是Java语言编程初学者,希望大家能够列举用if条件语句和for循环语句... 一般特殊情况转专业会公示吗 他是干什么工作的?用英语怎么翻译? 他是什么工作 英语翻译 java初学者求小程序代码 Flyme5.1.1.1在桌面的时候来电怎么不是全屏,只有上面跟通知一样那么一点... ...以前发的朋友圈现在我设置成私密照片不能评论别人还能看见吗?_百度... DNf红眼用,释魂太,75无影,三一真神,米斯特汀那个好 “人生一世,哪能事事如意”这句话用英语怎么说 转专业公示期有什么用请问转专业公示? everything goes on Everything goes on well.与Everything goes well. “他通常是关于爱情和日常生活的”的英语翻译 DNF75无影好还是释魂好,,, dnf剑魂带75ss无影好还是带释魂巨剑好 为什么背东西背一会儿就困? 他是关于什么的这句话的英文翻译 成都理工大学转专业公示后还有机会吗 2014款别克gl866000公里保养啥 初学者java小程序,求java大神帮我补充一下空缺代码! 华硕x450c无线网驱动下载 为什么总是被盯?一出门那些很潮的人就盯着我12岁的女生看,觉得我穿的... java定义一个整数数组,求出其中的奇数和偶数个数。我是初学者,求代码和... 女孩子喜欢被人盯着看吗? 为什么老有人盯着我? 我的变化作文300字小学三年级合集7篇 2020年安徽全椒农村户口怎么分到田 哪个星座最容易被小人盯上? 我家生活的变化作文300字 我家的变化 总是被男人盯上怎么办?&gt;_&lt; 小学三年级作文300字:生活的变化 后室电脑密码怎么看 后室第五关电脑密码 win8系统电脑图片密码的设定方法 没有银行流水可以贷款买房吗? 50分满分考26分是多少分 满分50考34相当于多少分