java经典编程题(43-45)

来源:互联网 发布:seo h1标签 编辑:程序博客网 时间:2024/06/05 10:00

【程序43】题目:计算字符串中子串出现的次数

import java.util.Scanner;public class Demo1 {public static void main(String args[]) {Scanner s = new Scanner(System.in);System.out.print("请输入字符串:");String str1 = s.nextLine();System.out.print("请输入子串:");String str2 = s.nextLine();int count = 0;if (str1.equals("") || str2.equals("")) {System.out.println("你没有输入字符串或子串,无法比较!");System.exit(0);} else {for (int i = 0; i <= str1.length() - str2.length(); i++) {if (str2.equals(str1.substring(i, str2.length() + i)))// 这种比法有问题,会把"aaa"看成有2个"aa"子串。count++;}System.out.println("子串在字符串中出现: " + count + " 次");}}}

【运行结果】

请输入字符串:abcdjsaaabcbsaaadda

请输入子串:aa

子串在字符串中出现: 4 次



【程序44】题目:计算圆周率 PI44/3+4/5-4/7.......打印出第一个大于 3.1415小于 3.1416的值


public class Main {public static void main(String[] args) {double pi = 0;double fenZi = 4;double fenMu = 1;while(!(pi>3.1415&&pi<3.1416)){pi += (fenZi / fenMu);fenZi *= -1.0;fenMu += 2.0;}System.out.println(pi);}}

【运行结果】

3.1415000095284658

 



【程序45】题目:输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值,其中前9个数: 1  1  2  3  5  8  13  21  34

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();for (int i = 1; i <= n; i++) {print(i);}}public static void print(int n) {int n1 = 1;// 第一个数int n2 = 1;// 第二个数int sum = 0;// 和if (n <= 0) {System.out.println("参数错误!");return;}if (n <= 2) {sum = 1;} else {for (int i = 3; i <= n; i++) {sum = n1 + n2;n1 = n2;n2 = sum;}}System.out.println(sum);}}

【运行结果】

10

1

1

2

3

5

8

13

21

34

55



0 0
原创粉丝点击