thingking in java test5.9练习(19)(20)(21)(22)

练习(19):写一个类,它接受一个可变参数的String数组。验证你可以向该方法传递一个用逗号分割的String列表,或是一个String[].

public class test5_8_19 {
    public static void main(String[] args){
        String[] strs = new String[]{"1","2","3","4","5"};
        canChange.f(strs);
    }
}

class canChange{
    static void f(String...strs){
        for (String str :
                strs) {
            System.out.println(str);
        }
    }
}

可变参数列表就是某个方法的某个参数数量可变,最小可以为0,也就是没有,最大没有限制。这个参数类型可以是object类,也可以是各种基本类型,也可以是包装类型。

练习(20):创建一个使用可变参数列表而不是普通的main()语法的main()。打印所产生的args数组的所以元素,并用各种不同数量的命令行参数来测试它。
普通的mian()语法里面是String[] args
可变参数列表是String…args
题目里说的用不同数量的命令行参数来测试,意思就是,当你使用命令行编译时,在xxx.java 后面跟上一些参数,这些参数会在main()运行时随args传入。
使用IDE达成输入命令行参数的方法前面提到过了,请参考 http://blog.csdn.net/qq_35396447/article/details/52051790

public static void main(String...args){
        for (String str :
                args) {
            System.out.println(str);
        }
    }

控制台输出:
hello
world
!
hi
java
!

练习(21):创建一个enum,它包含纸币中最小面值的6种类型。通过value()循环并打印每一个值及其ordinal()。
ordinal()方法是编译器为枚举类型创建的,用来表示类型中某个常量的声明顺序,通俗的讲就是第几个。
static values()方法是按照常量顺序,生成由这些常量构成的数组。

public class test5_9_21 {
    public static void main(String[] args){
        for (Money money :
                Money.values()) {
            System.out.println(money + ",ordinal " + money.ordinal());
        }
    }
}

enum Money{
    YIYUAN,WUYUAN,SHIYUAN,ERSHIYUAN,WUSHIYUAN,YIBAIYUAN
}

练习(22):在前面的例子中,为enum写一个switch语句,对于每个case,输出待定货币的描述。

public class test5_9_21 {
    public static void main(String[] args){
//        for (Money money :
//                Money.values()) {
//            System.out.println(money + ",ordinal " + money.ordinal());
//        }

        MoneyValue value = new MoneyValue(Money.WUSHIYUAN);
        value.howMuch();
        MoneyValue value1 = new MoneyValue(Money.YIYUAN);
        value1.howMuch();
    }
}

enum Money{
    YIYUAN,WUYUAN,SHIYUAN,ERSHIYUAN,WUSHIYUAN,YIBAIYUAN
}

class MoneyValue{
    Money money ;//枚举类的引用
    public MoneyValue(Money money){
        this.money = money;//枚举类的初始化,注意枚举类不能用new关键字,用法类似static常量,直接=Money.xxx即可
    }
    public void howMuch() {
        switch (money) {
            case YIYUAN:
                System.out.println("一块钱");
                break;
            case WUYUAN:
                System.out.println("五块钱");
                break;
            case SHIYUAN:
                System.out.println("十块钱");
                break;
            case ERSHIYUAN:
                System.out.println("二十块钱");
                break;
            case WUSHIYUAN:
                System.out.println("五十块钱");
                break;
            case YIBAIYUAN:
                System.out.println("一百块钱");
                break;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值