Java Language:第二天-2-课后作业-12/09/2014

来源:互联网 发布:网上白家乐能破解软件 编辑:程序博客网 时间:2024/05/29 07:03
1、斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、……

编程:换行输出前20项斐波那契数,要求分别使用迭代与递归两种方式实现。

//迭代法创建斐波那契二数列public class First {public static void main(String[] args) {int F0 = 0;int F1 = 1;int[] FS = new int[20];//定义一个整型数组:FS,并为其分配空间FS[0] = F0;//定义数列第一项FS[1] = F1;//数列第二项for(int i = 2;i < 20;i++){//迭代法FS[i] = FS[i-1] + FS[i-2];}for(int i = 0;i < 20;i++){//满足格式的输出System.out.println(FS[i]);}//或者直接输出:System.out.println(Arrays.toString(FS));}}

2、编程换行输出10以内包含10的阶乘。

//换行输出10的阶乘public class Second {public static void main(String[] args) {int Num = 1;for(int i = 1;i <= 10;i++){Num = Num * i;System.out.println(Num);}}}

3、将一个数组 1 2 3 4 5 6 ,倒置成新数组,然后输出,输出 6 5 4 3 2 1。

import java.util.Arrays;public class Third {public static void main(String[] args) {int [] trsArray = new int[]{1,2,3,4,5,6};//定义原始数组int [] newArray = new int[trsArray.length];//定义用于保存转置后的数组//下面程序算法:把原始数组的最后一位存在新数组的第一位从而得到转置后的数组for(int i = 0;i < trsArray.length;i++){newArray[trsArray.length-i-1] = trsArray[i];}System.out.println(Arrays.toString(newArray));}}

4、现给出两个数组:
数组a:1,7,9,11,13,15,17,19
数组b:2,4,6,8,10

将两个数组合并以后成数组c , 升序排序。

import java.util.Arrays;public class Four {//利用Java提供的API来做public static void main(String[] args) {int[] a = new int[]{1,7,9,11,13,15,17,19};int[] b = new int[]{2,4,6,8,10};int[] c = new int[a.length + b.length];System.arraycopy(a, 0, c, 0, a.length);System.arraycopy(b, 0, c, a.length,b.length);Arrays.sort(c);System.out.println(Arrays.toString(c));}}

5、编写一个函数将字符串的第3的倍数个字符给删除掉(如果该字符为c不删除),打印剩余的字符串和字符串的长度,并编写代码测试上述方法:

 如:字符串:abcdefghijlk。

调用函数后输出:abcdeghjl剩余长度9

6、分别用冒泡、选择排序实现1,17,19,13,11,15,9,7数组的排序。

import java.util.Arrays;public class Six {        //冒泡排序public static void main(String[] args) {int[] arr = new int[]{1,17,19,13,11,15,9,7};for(int i = 0;i < arr.length;i++){for(int j = 0;j < arr.length-1;j++){//-1的目的是为了防止越界int cur=0;//中间变量保存当前值if(arr[j] > arr[j+1]){cur = arr[j];arr[j] = arr[j+1];arr[j+1] = cur;}}}System.out.println(Arrays.toString(arr));}
import java.util.Arrays;public class Six {//选择排序public static void main(String[] args) {int[] arr = new int[]{1,17,19,13,11,15,9,7};for(int i = 0;i < arr.length;i++){//外层循环不用-1,因为用的不是"<="for(int j = i;j < arr.length-1;j++){//-1的目的是为了防止越界,与下面相呼应//注意这里的j是从i开始的int cur=0;//中间变量保存当前值if(arr[i] > arr[j+1]){//j+1与上面的减-1相关cur = arr[i];arr[i] = arr[j+1];arr[j+1] = cur;}}}System.out.println(Arrays.toString(arr));}}

程序不完整,需要改进


0 0