用一根绳子2头点燃,同时另取一根绳子点燃
当第一根绳子燃烧完,即为半小时,这时第二根绳子的另一头点燃,并开始计时.
则从计时开始到第二根绳子燃烧完用时十五分钟.
再取一根绳子点燃,直至这根绳子燃烧完,计时结束.
则总计时开始的那刻开始到计时结束,用时1小时15分钟,可以此来计时.
你可以同时向两个人问:“请你们把你们各自来的路告诉我是那一条?”
诚实国的人肯定指出的是自己国家的路,而相反的来自说谎国的那个人一定也会指向诚实国的路
所以你只要走向没有被指的路,肯定可以到达说谎国。
3大核心:封装 继承 多态
exception:NullPoint ClassCast ClassNotFount IndexOutOfBounds NumberFormat
4种: 1.创建子类继承Thread类(Thread类实现了Runable接口)并重写run()方法(无返回值),通过子类实例调用start()方法启动; 2.通过实现Runable()接口并重写run()方法(无返回值),start()方法启动; 3.创建子类实现Callable()接口,并重写call()方法,提供了2个额外功能:call()方法可以有int返回值call()方法可以声明抛出异常, 由Callable子类对象创建一个FutureTask对象,由FutureTask对象创建一个Thread对象。 4.通过线程池Executor框架创建
方式:
1.同步方法;2.同步代码块;3.使用特殊域变量(volatile)实现线程同步;4.使用重入锁实现线程同步;5.使用局部变量实现线程同步 。
public static void main(String[] args) { String str = ""; Random rand = new Random(); for(int i=0;i<5;i++){ int num = rand.nextInt(3); switch(num){ case 0: char c1 = (char)(rand.nextInt(26)+‘a‘);//生成随机小写字母 str += c1; break; case 1: char c2 = (char)(rand.nextInt(26)+‘A‘);//生成随机大写字母 str += c2; break; case 2: str += rand.nextInt(10);//生成随机数字 } } System.out.println("生成的5位随机验证码是:"+str); }
public static int old(int num) { if (num == 1) { return 10; } else { return 2 + old(--num); } }
原文:https://www.cnblogs.com/ityangshuai/p/11911714.html