嵌套,顺序很重要

如果下面的代码用if结构来嵌套switch会麻烦的多。

import java.util.Scanner;

public class book01Page88 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("请输入消费金额");
        double money=input.nextDouble();
        System.out.println("是否参加优惠换购活动:");
        System.out.println("1:满50元,加2元换购百事可乐饮料1瓶");
        System.out.println("2:满100元,加3元换购500mL可乐一瓶");
        System.out.println("3:满100元,加10元换购5kg面粉");
        System.out.println("4:满200元,加10元可换购1个苏泊尔炒菜锅");
        System.out.println("5:满200元,加20元可换购欧莱雅爽肤水一瓶");
        System.out.print("0:不换购\n请选择:");
        int order=input.nextInt();
        System.out.print("\n本次消费金额:");
        switch(order){
        case 0:System.out.println(money+"\n您未参加任何换购");break;
        case 1:{
            if(money>=50){
                System.out.println(money+2+"成功换购:百事可乐饮料1瓶。");
            }else{System.out.println(money+"\n换购失败:您的消费金额不足。");
            }break;
        }
        case 2:{
            if(money>=100){
                System.out.println(money+3+"\n成功换购:500mL可乐一瓶。");
            }else{System.out.println(money+"\n换购失败:您的消费金额不足。");
            }break;
        }
        case 3:{
            if(money>=100){
                System.out.println(money+10+"\n成功换购:5kg面粉。");
            }else{System.out.println(money+"\n换购失败:您的消费金额不足。");
            }break;
        }
        case 4:{
            if(money>=200){
                System.out.println(money+10+"\n成功换购:1个苏泊尔炒菜锅。");
            }else{System.out.println(money+"\n换购失败:您的消费金额不足。");
            }break;
        }
        case 5:{
            if(money>=200){
                System.out.println(money+20+"\n成功换购:欧莱雅爽肤水一瓶。");
            }else{System.out.println(money+"\n换购失败:您的消费金额不足。");
            }break;
        }
        default:{
            System.out.println(money+"\n请输入正确的数字!");
        }
        }

    }

}
时间: 2024-10-12 03:20:52

嵌套,顺序很重要的相关文章

函数的嵌套与global和nonlacal

一. 函数的嵌套 只要遇见了()就是函数的调用. 如果没有()就不是函数的调用 函数的执行顺序 def fun1(): print(111) def fun2(): print(222) fun1() fun2() print(111) def fun2(): print(222) def fun3(): print(666) print(444) fun3() print(888) print(33) fun2() print(555) # 函数中套函数 def func(): a = 1 d

数据结构Java实现02----线性表与顺序表

[正文] 本节内容: 线性结构 线性表抽象数据类型 顺序表 顺序表应用 一.线性结构: 如果一个数据元素序列满足: (1)除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素: (2)第一个数据元素没有前驱数据元素: (3)最后一个数据元素没有后继数据元素. 则称这样的数据结构为线性结构. 二.线性表抽象数据类型: 1.线性表抽象数据类型的概念: 线性表抽象数据类型主要包括两个方面:既数据集合和该数据集合上的操作集合. 数据集合: 可以表示为a0,a1,a2,...a

[分布式系统学习]阅读笔记 Distributed systems for fun and profit 之三 时间和顺序

这是阅读 http://book.mixu.net/distsys/time.html 的笔记,是该系列的第三章. 为什么时间和顺序很重要呢?为什么我们关系事件A发生在事件B之前? 因为分布式系统要解决的问题是把单机上的问题通过多机来解决.然而传统单机的程序总是假设确定的顺序.对于分布式程序来说,正确性最简单的定义就是,跑起来像一台单机上运行的程序. 全序和偏序 具体的定义大家可以去翻离散书.简单地说,全序就是在集合里任何两个元素都可以比较,分出大小.偏序中,某些元素是没办法比较大小的. 在单节

【转】Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示

GCC依赖库顺序问题

今天在把linux下做的ipmsg移植到windows过程中,因为包含了一个开源库SimpleSocket,而这个库又引用了winsock2,没太注意就写下了下面的makefile: g++ -o tt tt.o -lws2_32 -lclsocketd 结果报出了N多丑陋的undefined reference..之后尝试将-lws2_32和-lclsocketd交换位置后,编译通过. 上网查了下,发现gcc编译时依赖库的顺序是很重要的.比如说,liba.a依赖于libb.a,则必须写成-la

Java知多少(48)try语句的嵌套

Try语句可以被嵌套.也就是说,一个try语句可以在另一个try块内部.每次进入try语句,异常的前后关系都会被推入堆栈.如果一个内部的try语句不含特殊异常的catch处理程序,堆栈将弹出,下一个try语句的catch处理程序将检查是否与之匹配.这个过程将继续直到一个catch语句匹配成功,或者是直到所有的嵌套try语句被检查耗尽.如果没有catch语句匹配,Java的运行时系统将处理这个异常.下面是运用嵌套try语句的一个例子: 1 // An example of nested try s

(转)Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

自:http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题. 事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图:  我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图

Android开发之Gson解析Json嵌套数据

Gson解析复杂的json数据 在这里介绍解析json数据的另外一种方法就是通过Gson解析,对于解析比较简单的json数据我就不介绍了来一个比较复杂一点的json数据,如下面我们要解析的一个json数据: [java] view plaincopy String json = {"a":"100","b":[{"b1":"b_value1","b2":"b_value2&qu

unity执行顺序问题(如何再次执行start方法)

2016-09-08 20:13 2084人阅读 评论(1) 收藏 举报  分类: unity3D(66)  版权声明:本文为博主原创文章,未经博主允许不得转载. unity执行顺序的文章已经很多了,其实不用看文章,那么麻烦,一张图就搞定了! Look: 这里看到最特殊最常用的应该就是OnEnable了.OnEnable是在Awake之后Start之前执行的,特殊之处就是他会在物体隐藏之后再次显示时再次调用,而Start和Awake是做不到这一点! 为了证明宝宝没有说谎,请看实例: 下面有一个s