Java作业@2017.10.28-10.29
来源:互联网 发布:软件测试学徒 编辑:程序博客网 时间:2024/05/22 11:33
作业一、生兔子问题(递归算法)package org.westos.homework;import java.util.Scanner;/** * 生兔子对数问题(使用递归算法) * 通过计算前几个月:1 2 3 4 5 6 7 ... * 兔子总数 :1 1 2 3 4 6 9... * @author 代虎 * */public class HomeWork01 {public static long number(int mouth) {if(mouth < 0) {System.out.println("您输入的数字有误");}if(mouth ==1 || mouth ==2 || mouth ==0 ) {//刚开始和第一、第二个月只有一对兔子return 1;}elsereturn number(mouth-1)+number(mouth-3);//前一月兔子数+通过生长三个月后,可以生育的兔子}public static void main(String[] args) {System.out.println("请输入您要求出多少月之后的兔子数?(必须为数字)");while(true) {Scanner sc = new Scanner(System.in);String str = sc.next();char[] ch = str.toCharArray();if(str.equals("exit")) {System.exit(0);break;}Integer mouth = 0;long count = number(mouth.valueOf(str));System.out.println("在"+ str + "月后,兔子对数为"+ count+ "对");System.out.println("==============下一个===============");System.out.println("继续请输入数字,退出输入exit");}}}
程序输出:
作业二:要求采用二分法找出指定的数值并将其在数组的索引返回,如果没有找到则返回 -1
package org.westos.homework;/** * 现要求采用二分法找出指定的数值并将其在数组的索引返回,如果没有找到则返回 -1 */import java.util.Arrays;public class HomeWork02 {public static int search(int[] arr,int key) {Arrays.sort(arr);//System.out.println(Arrays.toString(arr));int start = 0;int end = arr.length-1;while(start <= end) {intmiddle = (start + end)/2;if(key < arr[middle]) {end = middle-1;}else if(key > arr[middle]) {start = middle+1;}else{return middle;}}return -1;}public static void main(String[] args) {int [] arr = {80,40,50,45,90,120,30,20,100};System.out.println(search(arr, 40));System.out.println(search(arr, 30));System.out.println(search(arr, 100));}}
程序输出:2 1
7
作业三、统计大串中小串出现的次数:
package org.westos.homework;import java.util.Scanner;/** * 统计大串中小串出现的次数 * 举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次 * 分析:1)将字符串转化为字符数组。 * 2) * @author 代虎 * */public class HomeWork03 {public static void countif(String BigStr,String str) {char[] userCh = BigStr.toCharArray();char[] strCh = str.toCharArray();int count = 0;//System.out.println("输入子串第1个元素"+strCh[0]);for(int i=0;i<userCh.length;i++) {//System.out.println("大串中第"+i+"个元素"+userCh[i]);if(strCh[0] == userCh[i]) {String temp = BigStr.substring(i, i+strCh.length);//System.out.println("temp======="+ temp);if(temp.equals(str)) {count++;}else{//System.out.println("您所要找的小串在大串中不存在!");}}}System.out.println("您所要找的小串在大串中共出现" + count + "次");}public static void main(String[] args) {System.out.println("请您输入一段大的字符串");Scanner sc = new Scanner(System.in);String BigStr = sc.next();System.out.println("请输入您要查找的子串");String str = sc.next();countif(BigStr, str);}}
程序执行:
阅读全文
0 0
- Java作业@2017.10.28-10.29
- 【Java作业】2017.10.28 / 10.29
- 【Java作业】2017.10.14/10.15
- 【Java作业】2017.10.21 / 10.22
- java作业 2017-10-28
- C语言作业@2017.10.28-10.29
- 【C语言作业】2017.10.28 / 10.29
- JAVA作业
- Java作业
- Java作业
- java作业
- java作业
- JAVA作业
- java作业
- java作业
- Java作业。。。
- java作业。。。
- Java作业
- B
- pip安装到用户目录(不需要管理员权限)
- vue重定向
- Type def recipe not found: **/build/intermediates/typedefs.txt
- 二维码的生成和扫描
- Java作业@2017.10.28-10.29
- Mycat从入门到放弃
- 45. Jump Game II (贪心)
- 无聊的序列 洛谷p3940
- Ubuntu终端彻底删除软件
- jdbc实现简单的增删查改(preparedstatement)
- http请求方法(GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT)
- RXjava 深入简出
- 关于信息的时代