[实验任务]:素数输出

(3)实验报告中要求包括程序设计思想、程序流程图、源代码、运行结果截图、编译错误分析等内容。

1、   实验内容

(1)计算并输出3~100之间的素数。

(2)编程满足下列要求:

1)按照每行5个输出;

2)输出任意两个整数之间的所有素数;

3)输入两个整数,输出这两个整数之间的最大的10个和最小的10个素数。

2、 源代码

import java.util.Scanner;

public class PrimeNumber {

public static void main(String[] args) {

int count=1;

int b=0;

int[] a=new int[100];

Scanner input=new Scanner(System.in);

System.out.println("请输入起始的数字:");

int n=input.nextInt();

System.out.println("请输入结束的数字:");

int m=input.nextInt();

input.close();

for(int i=n;i<=m;i++){

int j;

for(j=2;j<i;j++){

if(i%j==0){

break;

}

}

if(j==i){

a[b]=i;

b++;

if(count%5==0){

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

System.out.println();

}else{

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

}

count++;

}

}

System.out.println();

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

for(int c=0;c<10&&c<count;c++) {

System.out.print(a[c]+" ");

}

System.out.println();

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

for(int c=count-2;c>count-12;c--) {

System.out.print(a[c]+" ");

}

}

}

3、 设计思路

利用两次循环;第一个为所求素数范围的循环,这个范围由用户输入;第二个循环来判断是否为素数,若是素数,则存到数组里;判断素数时,就有顺序,所以存到数组中的素数也是有是顺序的,就可以直接利用数组输出最大和最小的十个素数。

4、 实验截图

[实验任务]:递归方法

1、   实验内容

使用递归方式判断某个字串是否是回文( palindrome );

“回文”是指正着读、反着读都一样的句子。比如“我是谁是我”

使用递归算法检测回文的算法描述如下:

A single or zero-character string is a palindrome.

Any other string is a palindrome if the first and last characters are the same, and the string that remains, excepting those characters, is a palindrome.

2、 源代码:

import java.util.Scanner;

public class Palindrome {

public static void main(String[] args) {

System.out.println("请输入需要判断的任意一个字符串:");

Scanner input=new Scanner(System.in);

String str=input.nextLine();

input.close();

int n=0;

int m=str.length()-1;

if(palin(str,n,m))

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

else

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

}

public static boolean palin(String str,int n,int m){

if(n > m)

throw new IllegalArgumentException();

if(n == m)

return true;

else{

return (str.charAt(n) == str.charAt(m)) && palin(str,n+1,m-1);

}

}

}

3、 实验思路

先定义一个判断回文的方法,先得到字符串的长度,利用charAt方法去比较第一个和最后一个字符,如果一样,前一个后移一位,后一个前移一位,再次比较,如此下去,直到前一个等于后一个,在主方法中调用这个方法。

4、 实验截图:

 [实验任务三]:统计分析。

1、 实验内容:

用户需求:英语的26 个字母的频率在一本小说中是如何分布的?

 

2、 源代码:

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.Reader;

import java.util.Scanner;

 

public class Statistics {

 public void createFile()//创建文本

 

 {

        

        String path= "c:\\文章\\统计";//所创建文件的路径

        

        File f = new File(path);

        

       if(!f.exists()){

            

            f.mkdirs();//创建目录

        }

        

        String fileName = "abc.txt";//文件名及类型

        

        File file = new File(path, fileName);

        

        if(!file.exists()){

            

            try {

                file.createNewFile();

            } catch (IOException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

            

        }

       

    }            

 public void shuruFile()//输入文本

   {

 Scanner in=new Scanner(System.in);

 try {

FileWriter fw = new FileWriter("c:\\文章\\统计\\abc.txt");

String world;

world=in.nextLine();

fw.write(world);

   fw.close();

   } catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

 }

  

   }

public String duqufile()//读取文本

{String s = null;

File f= new File("c:\\文章\\统计" + File.separator + "abc.txt") ;    // 声明File对象

         // 第2步、通过子类实例化父类对象

         Reader input = null ;    // 准备好一个输入的对象

         try {

input = new FileReader(f)  ;

} catch (FileNotFoundException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}    // 通过对象多态性,进行实例化

         // 第3步、进行读操作

         char c[] = new char[1024] ;        // 所有的内容都读到此数组之中

         try {

int len = input.read(c) ;

s=String.valueOf(c);

   } catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}        // 读取内容

        // 第4步、关闭输出流

         try {

input.close() ;

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

 

        }

         

      

return s;}

 public void tongjufile(String s)//统计文本

 {

String[] a=new String [10000];

int[] b=new int [1000];

int n=0;//一共的字母

 int k=0;//单词

char c[] = s.toCharArray();

 for(;c[n]!='\0'; n++)//将文本中单词存入a[]中

 {

 int j=0;

 for(j=n;c[j]!=' ';j++)

 {

 

 }

a[k]=s.substring(n,j);b[k]=1;n=j;

 for(int i=0;i<k;i++)

 if(a[i].equals(a[k]))

 {b[i]++;k--;break;}

k++;

 

}

 k--;

 word[] z=new word[k];//创建类将单词和个数联系起来

 

for(int i=0;i<=k;i++)

{

z[i].num=b[i];

z[i].world=a[i];

}

word t = null,m = null;

for(int i=0;i<k;i++)

{

for(int j=i;j<=k;j++)

{

if(z[j].num<z[i].num)

{

m.deng(t,z[j]);

m.deng(z[j],z[i]);

m.deng(z[i],t);

}

}

}

 

System.out.println(z[0].num+"  "+z[0].world);

 

 

 }

public static void main(String[] args) {

// TODO 自动生成的方法存根

Statistics a=new Statistics();

a.shuruFile();

String c;

c=a.duqufile();

a.tongjufile(c);

}

}

转载于:https://www.cnblogs.com/fuheishi/p/9790382.html

JAVA第二次验证设计性实验报告相关推荐

  1. 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc

    <计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...

  2. 【操作系统】内存管理设计性实验报告

    操作系统#内存管理设计性实验报告 正文 一. 实验目的 1.通过本次试验体会操作系统中内存的分配模式: 2.掌握内存分配的方法(首次适应(FF),最佳适应(BF),最差适应(WF)): 3.学会进程的 ...

  3. [网络安全课设]基于JAVA的系统端口扫描软件设计实现(java代码+IDEA+UI图形界面+实验报告)

    链接::l基于JAVA的系统端口扫描软件设计实现(java代码+IDEA+UI图形界面+实验报告) 系统端口扫描软件设计实现 设计目的和任务 参照superscan.nmap等端口扫描软件的运行情况, ...

  4. Java模式设计卖电脑实验报告_20145310《Java程序设计》第2次实验报告

    20145310<Java程序设计>第2次实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计 ...

  5. 计算机验证型数学实验报告,数学建模实验报告1.doc

    数学建模实验报告1.doc 黑龙江科技学院 实 验 报 告 课程名称: 数学建模 专 业: 班 级: 姓 名: 数力系 实 验 名 称数学规划实验课 程数学建模主要仪器设备 计 算 机使用的软件名称M ...

  6. 用C语言编程实现矩形波信号,信号与系统综合设计性实验

    信号与系统综合设计性实验 傅立叶变换性质 实验设备 硬件 电脑软件 MATLAB 实验目的 掌握MATLAB的基本使用方法 掌握MATLAB环境下信号表示及产生方法 掌握MATLAB环境下傅立叶变换方 ...

  7. 2018-2019-2 20175305实验一《Java开发环境的熟悉》实验报告

    2018-2019-2 20175305实验一<Java开发环境的熟悉>实验报告 实验题目 实验一Java开发环境的熟悉-1 1).实验目的及要求 1.建立"自己学号exp1&q ...

  8. 20155229 实验一《Java开发环境的熟悉》实验报告

    20155229 实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Idea 编辑.编译.运行.调试Java程序. 实验步骤 (一) ...

  9. 2018-2019-2 20175311 实验一《Java开发环境的熟悉》实验报告

    2018-2019-20175311实验一<Java开发环境的熟悉>实验报告 一.实验内容及步骤 (一):使用简单的JDK编译.运行java程序 题目一比较简单也比较基础,主要就是考查我们 ...

最新文章

  1. 七层负载均衡--Haproxy
  2. Linux服务器-使用mysql
  3. 骨骼捏脸功能的实现方法
  4. react 原生html 插件,纯原生JS的瀑布流插件Macy.js,前端必备插件
  5. win 7中修改Hosts方法
  6. asterisk1.8 for mipsel mysql
  7. brainfuck 在线_酒店在线声誉持久战 重视社媒舆论 保持品牌一致性
  8. 软件工程(总体设计②设计原理)
  9. SQL2005 学记笔记(9)
  10. mysql装载本地文件及模式匹配
  11. Linux系统下init进程的前世今生
  12. 皮尔逊系数皮尔逊系数---K近算法之皮尔逊系数
  13. 12个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球,13个呢
  14. Agglomerative Hierarchical Clustering(AHC)
  15. 王半仙儿的日记-0001
  16. Windows 7恢复分区丢失了怎么恢复?
  17. Windows操作系统常见故障
  18. wsl挂载及启动VScode异常问题总结
  19. 有点干货 | JDK、CGLIB动态代理使用以及源码分析
  20. 微信关闭苹果支付服务器,iOS14如何关闭Apple微信免密支付

热门文章

  1. 算法基础(09)— 字符串常用操作
  2. Go 学习笔记(74)— Go 标准库之 unsafe
  3. 为什么神经网络的激活函数必须使用线性函数?
  4. c语言实现 十进制到二进制的转换
  5. linux sh 改 cmd
  6. BERT模型的OneFlow实现
  7. 软件定义汽车:本质并行化的有效平台
  8. Anchor Boxes示例实战
  9. DMS是临时解决方案?
  10. DCN-2655 gre隧道 vpn 嵌入IPSec配置: