JAVA第二次验证设计性实验报告
[实验任务一]:素数输出
(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第二次验证设计性实验报告相关推荐
- 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc
<计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...
- 【操作系统】内存管理设计性实验报告
操作系统#内存管理设计性实验报告 正文 一. 实验目的 1.通过本次试验体会操作系统中内存的分配模式: 2.掌握内存分配的方法(首次适应(FF),最佳适应(BF),最差适应(WF)): 3.学会进程的 ...
- [网络安全课设]基于JAVA的系统端口扫描软件设计实现(java代码+IDEA+UI图形界面+实验报告)
链接::l基于JAVA的系统端口扫描软件设计实现(java代码+IDEA+UI图形界面+实验报告) 系统端口扫描软件设计实现 设计目的和任务 参照superscan.nmap等端口扫描软件的运行情况, ...
- Java模式设计卖电脑实验报告_20145310《Java程序设计》第2次实验报告
20145310<Java程序设计>第2次实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计 ...
- 计算机验证型数学实验报告,数学建模实验报告1.doc
数学建模实验报告1.doc 黑龙江科技学院 实 验 报 告 课程名称: 数学建模 专 业: 班 级: 姓 名: 数力系 实 验 名 称数学规划实验课 程数学建模主要仪器设备 计 算 机使用的软件名称M ...
- 用C语言编程实现矩形波信号,信号与系统综合设计性实验
信号与系统综合设计性实验 傅立叶变换性质 实验设备 硬件 电脑软件 MATLAB 实验目的 掌握MATLAB的基本使用方法 掌握MATLAB环境下信号表示及产生方法 掌握MATLAB环境下傅立叶变换方 ...
- 2018-2019-2 20175305实验一《Java开发环境的熟悉》实验报告
2018-2019-2 20175305实验一<Java开发环境的熟悉>实验报告 实验题目 实验一Java开发环境的熟悉-1 1).实验目的及要求 1.建立"自己学号exp1&q ...
- 20155229 实验一《Java开发环境的熟悉》实验报告
20155229 实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Idea 编辑.编译.运行.调试Java程序. 实验步骤 (一) ...
- 2018-2019-2 20175311 实验一《Java开发环境的熟悉》实验报告
2018-2019-20175311实验一<Java开发环境的熟悉>实验报告 一.实验内容及步骤 (一):使用简单的JDK编译.运行java程序 题目一比较简单也比较基础,主要就是考查我们 ...
最新文章
- 七层负载均衡--Haproxy
- Linux服务器-使用mysql
- 骨骼捏脸功能的实现方法
- react 原生html 插件,纯原生JS的瀑布流插件Macy.js,前端必备插件
- win 7中修改Hosts方法
- asterisk1.8 for mipsel mysql
- brainfuck 在线_酒店在线声誉持久战 重视社媒舆论 保持品牌一致性
- 软件工程(总体设计②设计原理)
- SQL2005 学记笔记(9)
- mysql装载本地文件及模式匹配
- Linux系统下init进程的前世今生
- 皮尔逊系数皮尔逊系数---K近算法之皮尔逊系数
- 12个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球,13个呢
- Agglomerative Hierarchical Clustering(AHC)
- 王半仙儿的日记-0001
- Windows 7恢复分区丢失了怎么恢复?
- Windows操作系统常见故障
- wsl挂载及启动VScode异常问题总结
- 有点干货 | JDK、CGLIB动态代理使用以及源码分析
- 微信关闭苹果支付服务器,iOS14如何关闭Apple微信免密支付