1 键盘录入字符串A和字符串B,A如“我爱你中国,我爱你故乡,我爱你hello world”
, B如“爱你”,要求,计算A中出现B的次数。
/**
*1 键盘录入字符串A和字符串B,A如“我爱你中国,我爱你故乡,我爱你hello world”
* B如“爱你”,要求,计算A中出现B的次数。
* 思路:1.通过scanner类获取从键盘输入的字符串A和B
* 2.spilt()方法用B切割A,返回切割后的字符串数组
* 3.判断数组的长度,数组的长度减1就是B切割A的次数,也是B出现A的次数。
* author liujiwie
* version 11.21
*/
package HomeWork;
import java.util.Scanner;
public class HomeWork1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入A:");
String A=sc.next();
System.out.println("请输入B:");
String B=sc.next();
/* String A="我爱你中国,我爱你故乡,我爱你hello world";
String B="爱你";*/
String []c=A.split(B);
System.out.println("A中出现B的次数是:"+(c.length-1));
}
}
2 得到一个字符串"Java MySQL Oracle Linux Hbase Hive Spark Hadoop Hadoop Hive Oracle Hive Spark Sql Java Java Scala MySQL Java"
求出该字符串每个单词出现的次数
/**
* 2 得到一个字符串"Java MySQL Oracle Linux Hbase Hive Spark
* Hadoop Hadoop Hive Oracle Hive Spark Sql Java Java Scala MySQL Java"
* 求出该字符串每个单词出现的次数.
* 思路分析:
* 1.把给的字符串用字符串数据类型的变量接收
* 2.通过空格对字符串进行剪切
* 3.把剪切后的字符串存到HashMap集合里做为key值,每个剪切后的字符串出现的次数作为value.
* author liujiwei
* version 11.21
*/
package HomeWork;
import java.util.HashMap;
public class HomeWork2 {
public static void main(String[] args) {
String str="Java MySQL Oracle Linux Hbase Hive Spark Hadoop Hadoop Hive Oracle Hive Spark Sql Java Java Scala MySQL Java";
String [] key=str.split(" ");
HashMap hm=new HashMap();
for (int i=0;i<key.length;i++){
int num=1;
if(hm.containsKey(key[i])){
num=(int)(hm.get(key[i]))+1;
}
hm.put(key[i],num);
}
System.out.println(hm);
}
}
3 观察“题目2示意图“图片,结合随机数设计程序求出π值。
随机产生一个点 p(x, y); x,y取值范围为[-1,1],
则点p落入正方形与落入单位圆的比例T,
T=圆面积/正方形面积=(πrr)/=π/4
T=落入圆形的次数/落入正方形次数=落入圆内次数/随机次数 通过随机产生(x,y),判断并统计得出。随机次数越大,越准确。
所以:
π = 4*(落入圆形的次数/落入正方形次数)
提示:
圆形面积: S2=πrr=π
正方形面积( 其中边长=2r): S1=边长边长=4
落入圆内: 随机x、y到原点的距离,通过Math.sqrt(xx+y*y)求出。如果距离原点小于1,则落入圆内。
/**
* 3 观察“题目2示意图“图片,结合随机数设计程序求出π值。
* 随机产生一个点 p(x, y); x,y取值范围为[-1,1],
* 则点p落入正方形与落入单位圆的比例T,
* T=圆面积/正方形面积=(π*r*r)/=π/4
* T=落入圆形的次数/落入正方形次数=落入圆内次数/随机次数
* 通过随机产生(x,y),判断并统计得出。随机次数越大,越准确。
* 所以:
* π = 4*(落入圆形的次数/落入正方形次数)
* 提示:
* 圆形面积: S2=π*r*r=π
* 正方形面积( 其中边长=2r): S1=边长*边长=4
* 落入圆内: 随机x、y到原点的距离,通过Math.sqrt(x*x+y*y)求出。如果距离原点小于1,则落入圆内。
*
* 思路分析:
* 1.声明两个double类型的变量x,y
* 2.用for循环100次,给x,y分别用随机函数随机赋值。判断通过Math.sqrt(x*x+y*y)求出的值小于1时,用计数器数。
* 用公式π = 4*(落入圆形的次数/落入正方形次数)求出PI值
*author liujiwei
* version 11.21
*/
package HomeWork;
public class HomeWork3 {
public static void main(String[] args) {
double x = 0.0;
double y = 0.0;
double pi=0.0;
int count = 0;
int loopnum=10000000;
for (int i = 0; i < loopnum; i++) {
x = (Math.random() * 2 - 1);
y = (Math.random() * 2 - 1);
if (Math.sqrt(x * x + y * y) < 1) {
count++;
}
}
pi=((count*1.0)/loopnum)*4;
System.out.println("PI的值是:"+pi);
}
}