资源描述
Java语言基础附加练习,LanguageBasics,问题与练习(流程控制语句),QuestionsandExercises,练习题,练习1:创建一个阶乘应用程序一个数X的阶乘(通常记作X!)等于X*(X-1)*(X-2)*1。例如4!等于4321=24。创建一个称作Factor的应用程序,利用该应用程序可打印2,4,6和10的阶乘。要求分别使用循环语句和递归算法实现,练习题,练习2:编写这样一个应用程序:从1循环到50并在每行打印一个值,另外还要求在每3的倍数上打印“foo”,再每个5的倍数行上打印“biz”,以及在每个7的倍数上打印“baz”。比如:123foo45biz6foo7baz89foo10biz1315foobiz,练习题,练习3:编写一个方法来查找在另一个字符串里的特定字符串。如果字符串存在,则方法必须返回真。比如:isSubString(“bat”,”Thecatinthehat.”);是false;isSubString(“cat”,”Thecatinthehat.”);是true;不使用String的indexOf方法;可以使用charAt和subString方法publicstaticbooleanisSubString(String,String);,思考题,思考题:一個關於兔子繁殖的問題:如果一對兔子每月能生一對小兔(一雄一雌),而每對小兔在牠出生後的第三個月裡,又能開始生一對小兔,以后每个月生一对兔子;假定在不發生死亡的情況下,由一對出生的小兔開始,50個月後會有多少對兔子?。要求写一个java程序来求解。,问题与练习(数组),QuestionsandExercises,动手与思考题,写一个方法用于打印整数数组:方法声明publicstaticvoidprintArray(intarray)结果如:for(inti=0;iarray.length;i+)if(i=array.length-1),动手与思考题,使用简单数组创建一个称作TestArray的类,在.main()方法中声明两个变量,一个是array1,另一个是array2,它们应属类型int。使用大括号,把array1初始化为1到10的整数。显示array1的内容。可能需要使用printArray方法显示这些整数数组;将array1赋值给array2修改array2中的偶数索引元素,使其等于索引值+10(如,array20=10;和array22=12;)打印array1。看发生了什么?intarray1=34,34,234,5566,43;printArray(array);array2=array1;publicstaticvoidprintArray(intarray),动手与思考题,使用多维数组以类型int声明一个叫matrix的变量(一个int数组的数组)。将矩阵初始化为一个五行的数组。初始化每一个内部数组,使其长度分别为其外部数组的索引(matrixi=newinti;)。循环对每一个内部数组赋值,使其值等于当前外部数组和内部数组的索引的乘积(matrixij=i*j;)通过外部数组循环打印matrix并在单独一行打印每个内部数组。可以看到类似下面的输出结果:matrix0ismatrix1ismatrix2ismatrix3ismatrix4is,动手与思考题,数组排序以类型int声明一个叫array的变量(一个int数组)。初始化数组,给每一个元素赋值一个100以内的随机整数,并打印该数组。对该数组排序,并打印该数组。可以看到类似下面的输出结果:排序前:排序后:,动手与思考题,动态数组(讨论题)写一个动态数组:实现添加数的功能:voidadd(inti);实现删除数的功能:intremove(intindex);实现读取数的功能:intget(intindex);实现查询数组长度的功能:intlength();实现排序的功能:voidsort();,大十进制数运算,要求实现一个用于大十进制数运算的工具类,可以进行加、减、乘、除等运算。如:Stringn1=1234567.89;Stringn2=98.7654321;BigNumberbn1=newBigNumber(n1);BigNumberbn2=newBigNumber(n2);bn1.add(bn2);bn2.toString();/1234666.6554321;不要使用Java已有工具类(BigDecimal),但可以参考。,动手与思考题,九宫棋(讨论题),动手与思考题,你怎样创建一个三维数组?使用数组的缺点是什么?,
展开阅读全文