文章目录

  • 26、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
  • 27、求100之内的素数。
  • 28、对10个数进行排序。
  • 29、求一个3*3矩阵对角线元素之和。
  • 30、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
  • 31、将一个数组逆序输出。
  • 32、取一个整数a从右端开始的4~7位。
  • 33、打印出杨辉三角形(要求打印出10行)
  • 34、输入3个数 a、b、c,按大小顺序输出。
  • 35、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
  • 36、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
  • 37、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
  • 38、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
  • 39、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n。
  • 40、字符串排序。
  • 41、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
  • 42、809*??=800*??+9*??,其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
  • 43、求0—7所能组成的奇数个数。
  • 44、一个偶数总能表示为两个素数之和。
  • 45、判断一个数能被几个9整除。
  • 46、两个字符串连接程序。
  • 47、读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
  • 48、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
  • 49、计算字符串中子串出现的次数。
  • 50、有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件 "stud "中。

26、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

  该题目指定用单个字符来进行日期的判断,而单个字符是可以当int型使用的,所以在此处用switch…case较为方便,示例代码如下:

    private static String judgeWeek(char[] weeks){String week="";switch(weeks[0]){case 'M':case 'm': week="Monday";break;case 'T':case 't': if(weeks[1]=='u'||weeks[1]=='U')week="Tuesday";else if(weeks[1]=='h'||weeks[1]=='H')week="Thursday";break;case 'W': case 'w': week="Wednesday";break; case 'F': case 'f': week="Friday";break; case 'S':case 's': if(weeks[1]=='a'||weeks[1]=='A')week="Saturday";else if(weeks[1]=='s'||weeks[1]=='U')week="Sunday";break;}return week;}

27、求100之内的素数。

  该题目的逻辑并不复杂,之前的题目中也有类似的,双层for循环,外层被除数,内层除数,遍历相除,输出筛选出来的值即可。此处说一下可能会采的坑。初版代码如下:

    private static void printNum(int num){boolean isPrint=true;for(int i=3;i<num;i++){for(int j=2;j<=(int)Math.sqrt(i);j++){if(i%j==0){isPrint=false;break;}}if(isPrint)System.out.println(i);}}

  该代码粗看,好像没什么问题,但运行一下,发现输出的值只有一个"3"。这明显是不对的。细看才发现,该代码中有个问题:isPrint变量被赋值一次false后,就一直是false,导致后续不会再输出素数。所以需要将代码改一版:

    private static void printNum(int num){boolean isPrint=true;for(int i=3;i<num;i++){for(int j=2;j<=(int)Math.sqrt(i);j++){if(i%j==0){isPrint=false;break;}else{isPrint=true;}}if(isPrint)System.out.println(i);}}

  这版代码加入了每次循环时对isPrint变量的重新赋值,运行结果也是正确的。但是还不是最优的,外层for循环选取的初始值是3,是个奇数,这是个伏笔,每次不用自增1,自增2就行,因为偶数肯定不是素数,这样,循环次数就会减少一半。示例代码如下:

    private static void printNum(int num){boolean isPrint=true;for(int i=3;i<num;i=i+2){for(int j=2;j<=(int)Math.sqrt(i);j++){if(i%j==0){isPrint=false;break;}else{isPrint=true;}}if(isPrint)System.out.println(i);}}

28、对10个数进行排序。

  关于各种常用的排序算法,在《算法》分类中有详细的介绍,此处以冒泡排序来简单说下排序。冒泡排序的步骤是比较固定的:
   1>比较相邻的元素。如果第一个比第二个大,就交换他们两个。
   2>每趟从第一对相邻元素开始,对每一对相邻元素作同样的工作,直到最后一对。
   3>针对所有的元素重复以上的步骤,除了已排序过的元素(每趟排序后的最后一个元素),直到没有任何一对数字需要比较。
  具体落实到代码上,也是需要两层for循环,一个表示要比较的数中前面的那个,一个表示后面的那个。每次比较,都会将序列汇总的一个最值放到末端,进行n-1趟比较、移动即可完成排序过程。示例代码如下:

 private static void sort(int[] array){/*外循环为排序趟数,array.length个数进行array.length-1趟 */for(int i=0;i<array.length-1;i++){/*内循环为每趟比较的次数,第i趟比较array.length-i次 */for(int j=0;j<array.length-1-i;j++){/*相邻元素比较,若满足条件则交换(升序为左大于右,降序反之) */if(array[j]>array[j+1]){int temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}}}

29、求一个3*3矩阵对角线元素之和。

  矩阵的叫法显得有些高级,此处可以理解为求一个二维数组的对角线元素之和。对于该题,把从左上角到右下角和从左下角到右上角的原色累加一下就行,落实到代码依然是双层for循环。本题难的是如何挑选出两列元素。规则有两个(二维数组的行列下标分别为i、j):
   1>i == j,挑选出来的从左上角到右下角的元素。
   2>i == (array[0].length-j-1),挑选出来的是左下角到右上角的元素。
  示例代码如下:

 private static int sum(int[][] array){int sum=0;for(int i=0;i<array.length;i++){for(int j=0;j<array[0].length;j++){/*此处有两个判断条件:* 1、i==j,挑选出来的从左上角到右下角的元素* 2、i==(array[0].length-j-1),挑选出来的是左下角到右上角的元素* 两者会挑选出重复的元素,但是用的是||运算,该元素智慧选取一次*/if((i==j) || (i==(array[0].length-j-1)))sum=sum+array[i][j];}}return sum;}

30、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

  该题目的逻辑还是比较复杂的,可以通过下面的步骤来进行:
   1>判断是升序还是降序,因为不同序列的最大值和最小值在不同的位置。
   2>判断是不是可以直接插在首部或尾部。如果可以插入首部,所有元素往后移一位;如果可以插在尾部,在新的数组中拷贝原数组的所有元素,然后在最后一位插入新元素即可。
   3>如果要在中间位置插入,就要遍历,寻找要插入的位置,然后先拷贝插入位置之前的元素,再插入新元素,再拷贝插入位置之后的元素。
  示例代码如下:

    private static int[] insert(int[] array,int num){int[] newArray=new int[array.length+1];/*默认升序*/boolean isSscending=true;/*假如第一个元素大于最后一个元素,为降序,此处不考虑整个序列中元素都相等的极端情况*/if(array[0]>array[array.length-1]){isSscending=false;}/*升序数组*/if(isSscending){/*要插入的元素小于等于最小值,插入到首部*/if(num<=array[0]){System.arraycopy(array, 0, newArray, 1, array.length);newArray[0]=num;/*要插入的元素大于等于最大值,插入到尾部*/}else if(num>=array[array.length-1]){System.arraycopy(array, 0, newArray, 0, array.length);newArray[newArray.length-1]=num;}else{int insertPosition=0;/*寻找要插入的位置*/for(int i=0;i<array.length;i++){if(num<array[i]){insertPosition=i;break;}}System.out.println("insertPosition:"+insertPosition);/*拷贝插入位置前的元素*/System.arraycopy(array, 0, newArray, 0, insertPosition);/*插入新元素*/newArray[insertPosition]=num;/*拷贝插入位置后的元素*/System.arraycopy(array, insertPosition, newArray, insertPosition+1,array.length-insertPosition);}/*降序数组*/}else{/*要插入的元素小于等于最小值,插入到末尾*/if(num<=array[array.length-1]){System.arraycopy(array, 0, newArray, 0, array.length);newArray[newArray.length-1]=num;/*要插入的元素大于等于最大值,插入到首部*/}else if(num>=array[0]){System.arraycopy(array, 0, newArray, 1, array.length);newArray[0]=num;}else{int insertPosition=0;/*寻找要插入的位置*/for(int i=0;i<array.length;i++){if(num>array[i]){insertPosition=i;break;}}System.out.println("insertPosition:"+insertPosition);/*拷贝插入位置前的元素*/System.arraycopy(array, 0, newArray, 0, insertPosition);/*插入新元素*/newArray[insertPosition]=num;/*拷贝插入位置后的元素*/System.arraycopy(array, insertPosition, newArray, insertPosition+1,array.length-insertPosition);}}return newArray;}

31、将一个数组逆序输出。

  这个题考对数组下标的使用,在每次的for循环中,怎么拿到和循环次数i相反位置的元素。示例代码如下:

    private static void print(int[] arr){for(int i=0;i<arr.length;i++){System.out.println(arr[arr.length-1-i]);}for(int i=arr.length-1;i>=0;i--){System.out.println(arr[i]);}}

32、取一个整数a从右端开始的4~7位。

  因为不知道这个数字有多少位,如果用数字的运算符来计算的话,可能实现难度稍大,可以还采用之前简单的转换为char数组的方式来实现。示例代码如下:

    private static void printFour(int num){char[] chars=String.valueOf(num).toCharArray();for(int i=0;i<4;i++){System.out.print(chars[chars.length-1-i]+" ");}}

33、打印出杨辉三角形(要求打印出10行)

  该题目和之前的输出菱形*的题有些相似,增加的难度在于要计算输出的非空格元素的值,所以此题哟分为两步:先计算,再输出,步骤如下:
   1>先计算山坡两边,也就是山表面值的值,都是1,然后再计算山里面元素的值,该位置的值都等于上层两个相邻元素之和。
   2>输出元素,其实创建了一个[10][10]的数组之后,我们在第一步中只是给这个二维数组的左下角元素赋了值,但是要输出山坡的形状,就要在每层元素前面输出不同的空格,来控制整体的输出形状。
  示例代码如下:

    private static void printTriangle(int num){int[][] arr = new int[num][num];/*给“山坡”的左右两边元素赋值*/for(int i=0; i<num; i++) {arr[i][i] = 1;arr[i][0] = 1;}/*给“山坡”内部元素赋值,每个元素等于上层两个相邻元素之和*/for(int i=2; i<num; i++) {for(int j=1; j<i; j++) {arr[i][j] = arr[i-1][j-1] + arr[i-1][j];}}/*以山坡形状,输出所有元素*/for(int i=0; i<10; i++) {for(int k=0; k<num-i; k++) {System.out.print(" ");}for(int j=0; j<=i; j++) {System.out.print(arr[i][j]+" ");}System.out.println();}}

34、输入3个数 a、b、c,按大小顺序输出。

  这道题考的内容也不多,即元素的比较和交换,示例代码如下:

    /*arr:将要排序的数字放入数组中,isSscending:是否升序排列*/private static void printThreeNum(int[] array,boolean isSscending){for(int i=0;i<array.length-1;i++){for(int j=0;j<array.length-1-i;j++){/*升序*/if(isSscending){if(array[j]>array[j+1]){int temp=array[j];array[j]=array[j+1];array[j+1]=temp;}/*降序*/}else{if(array[j]<array[j+1]){int temp=array[j];array[j]=array[j+1];array[j+1]=temp;}  }}}for(int i=0;i<array.length;i++){System.out.print(array[i]+" ");}}

35、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

  其实题目中的做法就是冒泡排序的优化方式,就是在一趟比较中同时找出两个最值,放到序列两端。就这个题而言,可以分为两步:找最大元素与最小元素的索引,然后再分别于数组首尾元素交换即可。示例代码如下:

    private static void swapAndPrint(int[] arr){int maxIndex=0;int minIndex=0;for(int i=0;i<arr.length;i++){/*找到最小元素索引*/if(arr[minIndex]>arr[i]){minIndex=i;}/*找到最大元素索引*/if(arr[maxIndex]<arr[i]){maxIndex=i;}}int temp=0;/*最大元素与数组首元素交换*/temp=arr[0];arr[0]=arr[maxIndex];arr[maxIndex]=temp;/*最小元素与数组尾元素交换*/temp=arr[arr.length-1];arr[arr.length-1]=arr[minIndex];arr[minIndex]=temp;   for(int i=0;i<arr.length;i++)System.out.print(arr[i]+" ");}

36、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

  要解决此题,需要创建一个大小为m的临时数组,用以临时存放元素,然后将m个元素之前的元素往后移,临时数组中存放的元素放在前m个位置。示例代码如下:

    private static void move(int[] arr,int position){if(position>=arr.length){/*输入参数不合法*/return;}/*将要移动的后m个元素存到临时数组中*/int[] tempArr=new int[position];for(int i=0;i<tempArr.length;i++){tempArr[i]=arr[arr.length-position+i];}/*将最后的m个元素之外的元素往后移*/for(int i=0;i<arr.length-position;i++){arr[i+position]=arr[i];}/*将临时数组中的m个元素放回原数组的前m个位置*/for(int i=0;i<tempArr.length;i++){arr[i]=tempArr[i];}for(int i=0;i<arr.length;i++)System.out.print(arr[i]+" ");}

  运行后却发现,输出结果不正确,在元素往后移的过程中,可能存在着重复赋值的过程。比如假设arr中有5个元素,要移动的元素个数为2,则存在如下错误:将arr[1]的值赋给arr[3],又赋给arr[5],造成了arr[3]和arr[5]位置上都是arr[3]的值,arr[5]值丢失。正确的做法是将该步骤的由前向后改成由后向前赋值即可。完整正确代码示例如下:

    private static void move(int[] arr,int position){if(position>=arr.length){/*输入参数不合法*/return;}/*将要移动的后m个元素存到临时数组中*/int[] tempArr=new int[position];for(int i=0;i<tempArr.length;i++){tempArr[i]=arr[arr.length-position+i];}/*将最后的m个元素之外的元素往后移*/for(int i=arr.length-position-1;i>=0;i--){arr[i+position]=arr[i];}/*将临时数组中的m个元素放回原数组的前m个位置*/for(int i=0;i<tempArr.length;i++){arr[i]=tempArr[i];}for(int i=0;i<arr.length;i++)System.out.print(arr[i]+" ");}

37、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

  该问题相对复杂,先不想具体的解题步骤,假设要解这道题,需要怎样的变量。首先需要一个数组或链表之类的数据结构,来存放n个数据。这n个数据要存什么呢?可以放一个boolean型或int型变量,用来标识是否已经退出。此外,还需要一个变量,来统计报到的数字(即1、2、3)。
  万事俱备,现在要写东风(具体的步骤)了。首先要有一个最外层的循环,当还没淘汰的人数大于1时,就继续进行下去。然后判断当前报数人是否被淘汰,因为被淘汰的人是不继续报数的,然后判断是否报到了3,如果报到了3,将当前任淘汰,总数-1,报的数字从0开始。同时,要注意的事情是:当报数到最后一个人时,索引从0开始,即达到一个循环报数的效果。
  示例代码如下:

 private static int stay(int n){boolean[] arr = new boolean[n];for(int i=0; i<arr.length; i++) {arr[i] = true;}/*在统计范围内的总人数*/int leftCount = n;/*当前报的数字*/int countNum = 0;/*当前报数人的索引*/int index = 0;/*当要统计的总人数>1时,继续游戏*/while(leftCount > 1) {/*只统计未淘汰的人*/if(arr[index] == true) {countNum++;if(countNum == 3) {/*当数到3时,从0开始,当前索引置为false,总人数-1*/countNum =0;arr[index] = false;leftCount --;}}/*报数+1时,对应的人的索引也要+1*/index ++;/*如果报数到了最后一个人时,循环计数*/if(index == n) {index = 0;}}for(int i=0; i<n; i++) {if(arr[i] == true) {return i+1;}}return 0;}

38、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

  这题目大概是要考对length这个词的使用,length有两个地方常常会用到,若不熟悉的话,可能会混淆:
   1>在数组中,array.length是一个数组对象的属性。
   2>在字符串中,string.length()是一个方法。
  示例代码如下:

 private static int length(String str){return str.length();}

39、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n。

  这类题目在之前已经遇到过好几次了,这道题无非多了一个奇偶数的判断,剩下的就是每次求出一个符合一定规律的数,再求所有数的积或和。示例代码如下:

 private static double sum(int n){double sum=0.0;if(n%2==0){for(int i=2;i<=n;i=i+2){double temp=(double)1/i;sum=sum+temp;}}else{for(int i=1;i<=n;i=i+2){double temp=(double)1/i;sum=sum+temp;}}return sum;}

40、字符串排序。

  该题目和比较一系列的数字实质上是一类问题,不过数字的比较换成了String的比较而已。进行String的比较时,可以将String拆分成char数组,对数组中的元素进行逐个比较。如果两个char数组在可以比较的范围(较小的数组长度)内均相同,那么就以较长的那个数组为较大的字符串。示例代码如下:

 private static void stringSort(String[] strs){for(int i=0;i<strs.length-1;i++){for(int j=0;j<strs.length-1-i;j++){/*比较规则:将string转换为char数组,然后再逐个比较char数组中的元素*/if(compare(strs[i],strs[j])){String temp=strs[j];strs[j]=strs[j+1];strs[j+1]=temp;}}}}private static boolean compare(String str1,String str2){boolean flag=false;for(int i=0;i<str1.length()&&i<str2.length();i++){if(str1.charAt(i)<str2.charAt(i)){flag=true;return flag;}}if(str1.length()<str2.length())flag=true;return flag;}

41、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

  这种题目在之前的例子也出现了多次,就是一个不断重复某种操作,来求初始值或末尾值的过程,本题多的无非是未明确最后的值。本题末尾是求最小值,所以可假设最后剩余了一个桃子,来反推最初始的值,可以用递归的方式实现。示例代码如下:

 private static int sum(int endNum){int sum=0;int cnt=0;for(int i=endNum;i<10000;i++){sum=i;cnt=0;for(int j=0;j<5;j++){if(sum%5==1){sum=sum-((sum/5)+1);cnt++;if(cnt==5){return i;}}else{break;}}}return 0;}

42、809*??=800*??+9*??,其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

  这个就是常见的一个在一定范围内求值的问题,搞懂题意,就好实现。本题的意思其实是:求一个两位数,这个两位数:乘以8小于100,乘以9大于等于100。示例代码如下:

 private static int num(){for(int i=10;i<13;i++){if(8*i<100&&9*i>=100){return i;}}return 0;}

43、求0—7所能组成的奇数个数。

  该题目最简单的实现方法是暴力计算。实现代码如下:

 private static int num(){int count=0;for(int i=1;i<76543210;i++) {if(i%2!=0) {count++;}}return count;}

44、一个偶数总能表示为两个素数之和。

  该题可以转换为在2到制定的偶数之间求两个素数的过程,不过两个素数之和恰好等于该偶数。示例代码如下:

 private static void printTwoPrime(int num){if(num%2!=0){System.out.println("不是偶数");return;}int primeA=0;int primeB=0;for(int i=2;i<num;i++){if(isPrime(i)){primeA=i;}if(isPrime(num-i)){primeB=num-i;System.out.println(num+"可以是素数"+primeA+"与"+primeB+"之和");break;}}}private static boolean isPrime(int n){for(int i=2;i<=(int)Math.sqrt(n);i++){if(n==2)return true;else if(n%i==0)return false;}return true;}

45、判断一个数能被几个9整除。

  该题考运算符和循环的使用,该题条件比较简单,用while循环就行。示例代码如下:

 private static int count(int num){int result=0;while(num%9==0){num=num/9;result++;}return result;}

46、两个字符串连接程序。

  关于字符串拼接的实及性能分析,有很多的内容需要了解,有机会的话在后续文章中进行简单介绍,在本题中,直接拼接两个字符串就行。示例代码如下:

 private static String add(String str1,String str2){return str1+str2;}

47、读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

  该题主要考如何运用一个序列中的值,所以在这7个值的赋值上,此处做简化处理,直接赋值到一个数组中。示例代码如下:

 private static void printStar(int[] arr){for(int i=0;i<arr.length;i++){for(int j=1;j<=arr[i];j++){System.out.print("*");}System.out.println();}}

48、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

   该提主要考的是如何计算出一个大数字不同位数上的数字,剩余的都是一些简单的计算。示例代码如下:

 private static int encryption(int num){int result=0;/*以下四个数字分别表示个十百千位*/int part1=num%10;int part2=num%100/10;int part3=num/100%10;int part4=num/1000;/*接下来要对每个位数上的数字进行重复操作,所以在此处将各个数字存储到一个数组中,以便使用循环进行重复操作*/int[] arr=new int[4];arr[0]=part1;arr[1]=part2;arr[2]=part3;arr[3]=part4;for(int i=0;i<arr.length;i++){arr[i]+=5;arr[i]=arr[i]%10;}swap(arr[0],arr[3]);swap(arr[1],arr[2]);result=arr[3]*1000+arr[2]*100+arr[1]*10+arr[0];return result;}private static void swap(int a,int b){int temp=a;a=b;b=temp;}

49、计算字符串中子串出现的次数。

   字符串匹配也是一类常见的题目,在本题中,可以先不考虑性能等因素,直接暴力匹配就行。在本题中,可以将两个字符串拆分成两个char数组,然后对子字符串转换成的char数组逐个比较,匹配成功,次数+1,直到总的字符串比较完成。示例代码如下:

 private static int count(String str1,String str2){int count=0;int tempCnt=0;for(int i=0;i<str1.length();i++){for(int j=0;j<str2.length();j++){if(str1.charAt(i)==str1.charAt(j)){tempCnt++;if(tempCnt==str2.length()){count++;tempCnt=0;break;}}}}return count;}

50、有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件 "stud "中。

   此题考的内容有点多,文件创建于读写此处省略,简单理解为求平均值。本题简化为创建一个二维数组,分别存不同学生的成绩,我们只要求学生成绩的平均值。示例代码如下:

 private static double[] average(int[][] grades){double[] result=new double[grades.length];int sum=0;for(int i=0;i<result.length;i++){sum=0;for(int j=0;j<grades[i].length;j++){sum=sum+grades[i][j];result[i]=(double)sum/3;}}return result;}

Java基础算法50题(二)相关推荐

  1. Java基础算法50题(一)

    文章目录 1.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 2.判断101-200之间有多少个素数,并输出所有素 ...

  2. JAVA经典算法50题(转)

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1]   题目:古典问题:有一对兔子, ...

  3. 50道JAVA基础算法编程题【内含分析、程序答案】【建议收藏】【建议收藏】【建议收藏】

    非常基础的题目,但是想学好Java它真的是基础,基础有多重要我就不再废话,重要的事情说三遍[建议收藏][建议收藏][建议收藏]. [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一 ...

  4. Java基础面试50题

    1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象 ...

  5. Java经典算法50题(含代码)

    [程序1]    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 p ...

  6. JAVA基础经典50题

    ​[程序1] 題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? [程序2] 题目:判断101-200 ...

  7. java经典50题_JAVA经典算法50题(3)【面试+工作】

    原标题:JAVA经典算法50题(3)[面试+工作] JAVA经典算法50题(3)[面试+工作] [程序21] 题目:求1+2!+3!+...+20!的和. 1.程序分析:此程序只是把累加变成了累乘. ...

  8. 简述流水线基本工作原理 计算机,自动化专业计算机技术基础作业题(50题)

    自动化专业计算机技术基础作业题(50题) (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 江西理工大学2012级自动化专业作业题1. 简 ...

  9. JAVA经典算法40题

    JAVA经典算法40题 [程序1]  题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析 ...

最新文章

  1. Python日期操作
  2. Java Data Base Connection(JDBC)
  3. 为什么余额宝要不断限制用户购买?
  4. 接口测试--apipost中cookie管理器的使用
  5. Vue插件_自己封装插件_以及使用自定义插件---vue工作笔记0017
  6. 推荐一些不错的公众号【二】
  7. VMware 和 linux镜像文件
  8. FAT32文件系统介绍
  9. ASP使用ASPupload组件上传多个文件
  10. memcached介绍与作用和它的工作原理
  11. 瑜欣平瑞通过注册:年营收6.6亿 胡云平一家三口为实控人
  12. 【独行秀才】macOS Big Sur 11.5 Beta 1(20G5023d)原版镜像
  13. 树莓派清华镜像源“stretch”更换为“buster”,解决tensorflow、h5py安装包下载报错问题
  14. 【Vissim】做一次完整的交通仿真——1.基本认识
  15. 火绒安全安装出现NSIS error
  16. tvOS游戏开发系列(SpriteKit)之新建tvOS游戏项目(二)
  17. 怎么通过EDIUS进行影片的快速剪辑
  18. C3D、Two-stream、TSN等动作识别方法简介
  19. [几何]改革春风吹满地
  20. 智慧交通大数据可视化

热门文章

  1. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY
  2. 5G跌下神坛,相比4G可用的技术较有限,唯一的优势就是速度快一些
  3. 【第022篇】解决win10系统使用Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足
  4. 在SAP GUI中玩扫雷小游戏
  5. python怎么解码_python字符串怎么解码?
  6. 如何用正则表达式匹配中文
  7. 事业单位 计算机类的专业知识竞赛,电脑相关知识竞赛的试题及答案
  8. Github最火项目:程序员必读职场15大定律和7大原则
  9. python-selenium爬虫操作
  10. DSP篇--C6678功能调试系列之EMIF、GPIO调试