java经典题目(一)
| 11.写一个方法,用一个for循环打印九九乘法表 /** *一个for循环打印九九乘法表 */ publicvoid nineNineMultiTable() { for (int i = 1,j = 1; j <= 9; i++) { System.out.print(i+"*"+j+"="+i*j+" "); if(i==j) { i=0; j++; System.out.println(); } } } 12.给定一个java.util.Date对象,如何转化为”2007-3-22 20:23:22”格式的字符串 /** *将某个日期以固定格式转化成字符串 *@paramdate *@returnstr */ public String dateToStr(java.util.Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = sdf.format(date); return str; } 13.写一个方法,能够判断任意一个整数是否素数 /** *判断任意一个整数是否素数 *@paramn *@returnboolean */ publicboolean isPrimes(int n) { for (int i = 2; i <= Math.sqrt(n); i++) { if(n%i==0) { returnfalse; } } returntrue; } 14.写一个方法,输入任意一个整数,返回它的阶乘 /** *获得任意一个整数的阶乘 *@paramn *@returnn! */ publicint factorial(int n) { //递归 if(n==1) { return 1; } return n*factorial(n-1); //非递归 // int multi = 1; // for (int i = 2; i <= n; i++) { // multi*=i; // } // return multi; } 15.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1 /** *二分查找特定整数在整型数组中的位置(递归) *@paramdataset *@paramdata *@parambeginIndex *@paramendIndex *@returnindex */ publicint binarySearch(int[] dataset,int data,int beginIndex,int endIndex) { int midIndex = (beginIndex+endIndex)/2; if(data <dataset[beginIndex] ¦ ¦data>dataset[endIndex] ¦ ¦beginIndex>endIndex)return -1; if(data <dataset[midIndex]) { return binarySearch(dataset,data,beginIndex,midIndex-1); }elseif(data>dataset[midIndex]) { return binarySearch(dataset,data,midIndex+1,endIndex); }else { return midIndex; } } /** *二分查找特定整数在整型数组中的位置(非递归) *@paramdataset *@paramdata *@returnindex */ publicint binarySearch(int[] dataset ,int data) { int beginIndex = 0; int endIndex = dataset.length - 1; int midIndex = -1; if(data <dataset[beginIndex] ¦ ¦data>dataset[endIndex] ¦ ¦beginIndex>endIndex)return -1; while(beginIndex <= endIndex) { midIndex = (beginIndex+endIndex)/2; if(data <dataset[midIndex]) { endIndex = midIndex-1; } elseif(data>dataset[midIndex]) { beginIndex = midIndex+1; }else { return midIndex; } } return -1; } 16.做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 package com.softeem.demo; /** *@authorleno *动物的接口 */ interface Animal { publicvoid eat(Food food); } /** *@authorleno *一种动物类:猫 */ class Cat implements Animal { publicvoid eat(Food food) { System.out.println("小猫吃"+food.getName()); } } /** *@authorleno *一种动物类:狗 */ class Dog implements Animal { publicvoid eat(Food food) { System.out.println("小狗啃"+food.getName()); } } /** *@authorleno *食物抽象类 */ abstractclass Food { protected String name; public String getName() { returnname; } publicvoid setName(String name) { this.name = name; } } /** *@authorleno *一种食物类:鱼 */ class Fish extends Food { public Fish(String name) { this.name = name; } } /** *@authorleno *一种食物类:骨头 */ class Bone extends Food { public Bone(String name) { this.name = name; } } /** *@authorleno *饲养员类 * */ class Feeder { /** *饲养员给某种动物喂某种食物 *@paramanimal *@paramfood */ publicvoid feed(Animal animal,Food food) { animal.eat(food); } } /** *@authorleno *测试饲养员给动物喂食物 */ publicclass TestFeeder { publicstaticvoid main(String[] args) { Feeder feeder=new Feeder(); Animal animal=new Dog(); Food food=new Bone("肉骨头"); feeder.feed(animal,food); //给狗喂肉骨头 animal=new Cat(); food=new Fish("鱼"); feeder.feed(animal,food); //给猫喂鱼 } } 17.描述JAVA中异常处理的机制 • 程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。Java • 当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。 • 如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。 • 程序员通常只能处理违例(Exception),而对错误(Error)无能为力。 |
浙公网安备 33010602011771号