1,素数输出

设计思路声明两个函数分别用来实现输出任意两个数之间所有的素数和任意两个数之间最大最小的十个素数

方法一:一个数的因子不会大于它本身的开方;

方法二:创建一个数组来储存素数并输出最大最小的十个;

/*

*黄珺瑜    2018.10.13

*/

import java.util.Scanner;

public class PrimePrintf {

// private final int MAX = 10000;

// private boolean a[]=new boolean[MAX];

private int num1=0,num2=0,a=0,m=0;

Scanner cin = new Scanner(System.in);

public void Printf() {  //任意输入两个整数,输出他们之间的所有素数

System.out.print("请输入两个整数:");

num1 = cin.nextInt();

num2 = cin.nextInt();

for(int i = num1;i<=num2;i++) {

boolean flag = true;

for(int j=2;j<=Math.sqrt(i);j++) {

if(i%j==0) {

flag = false;

break;

}

}

if(flag)

{

a++;

System.out.print(i+"\t");

if(a%5==0)

System.out.println();

}

}

System.out.println();

}

//输出 任意两个数之间的最大十个素数和最小十个素数

public void MaxMin() {

System.out.print("请输入两个整数:");

num1 = cin.nextInt();

num2 = cin.nextInt();

int prime[]= new int[Math.abs(num2-num1)];   //声明一个数组用来储存素数

//按大小顺序储存素数

for(int i = num1;i<=num2;i++) {

boolean flag = true;

for(int j=2;j<=Math.sqrt(i);j++) {

if(i%j==0) {

flag = false;

break;

}

}

if(flag)

{

prime[m] = i;

m++;

}

}

//输出前十个素数即最小的十个素数

System.out.println("最小的十个素数:");

for(int i=0;i<=9;i++) {

System.out.print(prime[i]+"\t");

if(i==4)System.out.println();

}

//找到最后一个素数即最大的素数的下标,并输出最后十个素数即最大的十个素数

for(int i=0;i<Math.abs(num2-num1);i++)

if(prime[i]==0) {

m=i;

break;}

System.out.println("\t\r最大的十个素数:");

for(int i=m-10;i<=m-1;i++) {

System.out.print(prime[i]+"\t");

if(i==m-6)System.out.println();

}

}

public static void main(String[] args) {

PrimePrintf pri = new PrimePrintf();

pri.Printf();

pri.MaxMin();

}

}

2,递归方法

判断是否是回文即判断前一半字符串等于后一半字符串倒过来即可。

使用回文的方法操作即输入前一半最后面的字符下标然后递归到第一个字符 判断是否等于后一半最后面的字符  然后一直往前比较,看前一半字符是否全等于后一半字符倒过来。

/*

* 黄珺瑜 2018.10.13

*/

import java.util.Scanner;

public class Judge {

public Scanner cin = new Scanner(System.in);

private char a[] = new char[100];

private boolean flag = true;

//使用递归方法判断是否前一半字符与后一半倒数字符都相等

public boolean JudgePlalindrome(int n ,boolean flag) {

if(n==0)

if(a[n]==a[a.length-1-n])

return flag =flag&&true;

else return flag =flag&&false;

else

return JudgePlalindrome(n-1,flag);

}

//输入字符串 并判断输出是否是回文

public void IsOrNot() {

String ss;

ss = cin.nextLine();

a=ss.toCharArray();

if(JudgePlalindrome(a.length-1, flag)) {

System.out.println("该字符串是回文");

}

else

System.out.println("该字符串不是回文");

}

public static void main(String[] args) {

Judge m = new Judge();

m.IsOrNot();

}

}

3,统计分析

声明一个结构体接收文本文件导出的字符串并将其分割然后进行比较如果有单词是相同的话就加一  然后比较哪个单词出现的次数多 并输出;

/*

*黄珺瑜   2018.10.13

*/

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStreamReader;

public class Mananger {

private final int MAX = 1000;

private String[] st;

private String s;         //用来转换StringBuilder类型

private words[] a = new words[MAX];       //声明一个类数组

private StringBuilder str=new StringBuilder();    //为了储存从文本中导出的字符串

/*

* 文件内容的导出

*/

public  void output_1() throws IOException

{

File a=new File("information.txt");

FileInputStream b = new FileInputStream(a);

InputStreamReader c=new InputStreamReader(b,"UTF-8");

{

BufferedReader bufr =new BufferedReader(c);

String line = null;

while((line = bufr.readLine())!=null){

st=line.split("[,?!.\":...-;+-]");     //字符串变成字符串数组,设置多个分割符

for(int i=0;i<st.length;i++)

str.append(st[i]+" ");    //将字符串添加到str类中

}

bufr.close();

}

c.close();

b.close();

s=""+str;          //将str转换成String类

st=s.split(" ");    //将s转换成字符串数组

}

/*

* 用来比较字符串数组中哪个单词出现的频率多

*/

public String Competive() throws IOException {

String Max;

output_1();

int m=1;

int max=0;

a[0]=new words();       //每次调用声明的a类数组都必须给它开辟一个空间

a[0].Words=st[0];

a[0].Number = 1;

for(int i=1;i<st.length;i++) {

boolean flag = true;

for(int j=0;j<m;j++) {

if(a[j].Words.equals(st[i])) {   //如果字符串相同则它们出现的次数加一

a[j].Number++;

flag = false;

break;

}

}

if(flag) {   //将不同的字符串传入

m++;

a[m-1]=new words();

while(st[i].equals(" "))

i++;

a[m-1].Words=st[i];

a[m-1].Number = 1;

}

}

for(int n=1;n<m;n++) {    //比较得出出现的次数最多的那个单词

if(a[max].Number<a[n].Number)

max=n;

}

Max = a[max].Words;

return Max;

}

public static void main(String[] args) throws IOException  {

Mananger con = new Mananger();   //声明一个Mananger对象用来调用Competive函数

System.out.println("出现最多的单词是:"+con.Competive());

}

}

ClassTwo__HomeWork的更多相关文章

随机推荐

  1. c语言递归函数的调用

    int fun(); int main() { int n,sum=0,i; scanf("%d",&n); for (i=1; i<=n; i++) { sum+= ...

  2. 测试:fiddler使用

    Fiddler是个很强大的工具,很多新人可能不知道怎么用. 直接下载安装,然后打开电脑端的Fiddler,点击Tools > Fiddler Options,勾选上 Allow remote c ...

  3. dedecms调用全站相关文章怎么设置

    前面我们说了dedecms调用相关文章,但很多网友反映说调用的只是本栏目的相关文章,不是全站的相关文章,那么dedecms调用全站相关文章怎么设置呢?打开文件\include\taglib\likea ...

  4. Java基础知识(JAVA集合框架之List与Set)

    List和Set概述数组必须存放同一种元素.StringBuffer必须转换成字符串才能使用,如果想拿出单独的一个元素几乎不可能.数据有很多使用对象存,对象有很多,使用集合存. 集合容器因为内部的数据 ...

  5. Python3学习之路~8.1 socket概念及参数介绍

    一 socket介绍 TCP/IP 基于TCP/IP协议栈的网络编程是最基本的网络编程方式,主要是使用各种编程语言,利用操作系统提供的套接字网络编程接口,直接开发各种网络应用程序. socket概念 ...

  6. 解决ios10以上点击缩放的问题

    禁止ios10以上点击缩放,代码如下: <script> window.onload=function () { document.addEventListener('touchstart ...

  7. vue-电脑端导出-txt

    // fakeClick(obj) { // var ev = document.createEvent("MouseEvents"); // ev.initMouseEvent( ...

  8. 5个Spark应用实例

    Spark简介: Spark是UC Berkeley AMP lab开发的一个集群计算的框架,类似于Hadoop,但有很多的区别.最大的优化是让计算任务的中间结果可以存储在内存中,不需要每次都写入HD ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统--系统权限及操作指引

    系列目录 1.权限包括菜单权限,按钮权限,数据权限 2.角色组和用户之间是多对多的关系,即多个用户可以拥有多个角色组,权限是拥有角色组的并集 1.菜单界面,菜单都是动态数据由模块管理进行设置 2.权限 ...

  10. Windows Server 2008 安装 10.2.0.5 单实例

    需求:Windows Server 2008 安装 10.2.0.5 单实例 原以为非常简单的一次任务,实际却遇到了问题,故记录一下. 1.安装10.2.0.1 2.安装10.2.0.4 3.安装10 ...