首页 > 其他分享 >课堂测试

课堂测试

时间:2023-02-28 20:14:15浏览次数:26  
标签:maxpro pair2 String max 测试 new 课堂 public

昨天王老师进行了一次课堂,做了那么多次的Java web,久违得做了一次纯Java的题目

实施证明我对Java的理解和掌握也不深入

题目——

 

 我的代码——

package demo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
//没有Pair

//存放每个单词的首尾
class Pair{
private String sword;
private char left;
private char right;
private int count;//记录此单词所在位数

public String getSword() {
return sword;
}
public void setSword(String sword) {
this.sword = sword;
}
public char getLeft() {
return left;
}
public void setLeft(char left) {
this.left = left;
}
public char getRight() {
return right;
}
public void setRight(char right) {
this.right = right;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}

public Pair assignment(Pair pair2) {
//赋值,把pair2的值赋给另一对象
Pair pair = new Pair();
pair.setLeft(pair2.getLeft());
pair.setRight(pair2.getRight());
pair.setCount(pair2.getCount());
pair.setSword(pair2.getSword());
return pair;
}

};

class Tool{

@SuppressWarnings("null")
public Pair getlandr(String word) {
//记录首尾
char left, right;
left = word.charAt(0);
right = word.charAt(word.length()-1);
//System.out.println(left);System.out.println(right);

Pair pair = new Pair();
pair.setLeft(left);
pair.setRight(right);
return pair;
}

public boolean compare(char l, char r) {
//比较首尾是否相同
if(l == r) {
//System.out.println(l+" "+r);
return true;
}
//System.out.println(l+" "+r);
return false;
}
};

public class Main {

public static void main(String[] args) {
// TODO Auto-generated method stub
int[] max = new int[3];//max,起始,终止
max[0]=max[1]=max[2]=1;//初始化
int[] maxpro = new int[3];//max,起始,终止
maxpro[0]=maxpro[1]=maxpro[2]=1;//初始化

try {
// 防止文件建立或读取失败
// 读入TXT文件
String pathname = "D:\\eclipse\\input1.txt";
File filename = new File(pathname);
InputStreamReader reader = new InputStreamReader(
new FileInputStream(filename)); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader);
String line = "";
String str = "";
line = br.readLine();
while (line != null) {
str += line;
line = br.readLine(); // 一次读入一行数据
}

String[] lin = new String[300];
int num = 0;//记录单词个数
String[] split = str.split(" ");
/*
for(String st:split){
System.out.print(st + " ");
}
*/
//System.out.println(str);//////////////////////////

Tool tool = new Tool();
Pair pair1 = new Pair();
pair1.setCount(1);
Pair pair2 = new Pair();
pair2.setCount(1);
String word_chain_pro = "";
String word_chain = "";

for(String st:split){
num++;
//i为单词个数
//分首尾
pair2 = tool.getlandr(st);
pair2.setCount(num);
pair2.setSword(st);
if(num == 1) {
pair1 = pair1.assignment(pair2);
}
if(num > 1) {
if(tool.compare(pair1.getRight(), pair2.getLeft() )){
//相等
//目前最长长度加一,最后以为单位数变更为此单词位数
maxpro[0]++;
if(maxpro[0]==2) {
//记录起始单词位置
maxpro[1] = pair1.getCount();
word_chain_pro = pair1.getSword();
}
//记录结束单词位置
maxpro[2] = pair2.getCount();
word_chain_pro += " " + pair2.getSword();
} else {
//不相等
//目前最长长度(小)赋值给最长长度,变更起始位置
if(max[0] < maxpro[0]) {
//更改最大的记录以及起始位置和结束位置
max[0] = maxpro[0];
max[1]= maxpro[1];
max[2]= maxpro[2];
//目前起始位置和终止位置相同,后移至下一个单词,目前最大长度置1
maxpro[1]= maxpro[2]= pair2.getCount()+1;
maxpro[0] = 1;
word_chain = word_chain_pro;
}
}
pair1 = pair1.assignment(pair2);
}
}

//写入txt文件
File writename = new File("D:\\eclipse\\output1.txt");
writename.createNewFile(); // 创建新文件
BufferedWriter out = new BufferedWriter(new FileWriter(writename));
out.write(word_chain);
out.flush();
out.close();

} catch (Exception e) {
e.printStackTrace();
}

System.out.println("单词链最长长度:" + max[0]);
System.out.println("起始单词位数:" + max[1]);
System.out.println("末尾单词位数:" + max[2]);
}

}

在下一篇博客中我会讲一讲我的思路

标签:maxpro,pair2,String,max,测试,new,课堂,public
From: https://www.cnblogs.com/yansans/p/17165793.html

相关文章

  • 性能测试工具locust压测介绍
    官方文档:https://docs.locust.io/en/stable/index.html1、初识locustLocust完全基本Python编程语言,采用python编写压测脚本,且所有请求完全基于requests库。除了HTT......
  • 第三方软件测试机构需要具备哪些资质?软件测评收费标准
    一、什么是第三方软件测试机构?第三方软件测试机构是区别与软件开发方与需求方的第三方检测机构,因为与软件产品本身无利益关系且有着丰富的测试经验,操作软件测试过......
  • java网络编程-待测试
    publicclassServer2{publicstaticvoidmain(String[]args)throwsException{System.out.println("==服务器的启动==");//1.注册端口......
  • 课堂练习01题目:计算最长英语单词链总结
     一、题目内容:大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N个不同的英语单词,我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词......
  • 《渗透测试》学习随笔 day4
    思维导图 1 常规的Web应用搭建:(1)购买云服务器,购买域名(2)云服务器去搭建中间件(3)下载并上传Web程序源码(4)添加网站并绑定域名目录2子域名模式www.xiaod......
  • 【MyBatis】测试链接数据库查询用户
    配置文件访问:【MyBatis】配置Mybatis项目-小鼻涕孩-博客园(cnblogs.com)数据表数据:Test.java:1importorg.apache.ibatis.io.Resources;2importorg.apache.......
  • 注册功能_后台_service代码实现&测试与注册功能_后台_验证码&前台数据处理
    注册功能_后台_service代码实现&测试添加数据   成功的添加到数据库中     注册功能_后台_验证码&前台数据处理  //验证......
  • 第三周上课测试
    今天上课留下的任务是计算出一篇英语文本中最长且不重复的单词链。在知道这个要求时,我先判断出它需要对文件进行操作以及一定会用到至少两个数组。我计划先将文件中的单词......
  • python+playwright 学习-17.模拟手机浏览器测试
    前言使用Playwright,您可以在任何浏览器上测试您的应用程序,也可以模拟真实设备,例如手机或平板电脑。设置手机模式只需配置您想要模拟的设备,Playwright就会模拟浏览器行......
  • 子分类1-1:测试随笔
    测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随笔测试随......