首页 > 其他分享 >2023.2.26

2023.2.26

时间:2023-02-27 21:45:09浏览次数:35  
标签:26 String sentence System 2023.2 ms println out

今天上课写那个英语接龙具体内容如下

大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N 个不同的英语单词, 我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词最多只能用一次。最长的定义是:最多单词数量,和单词中字母的数量无关。

以下是我的代码:

package lianxi;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class Lianxi {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("input.txt");// 读取文件
if (!file.exists()) {
System.out.println("文件不存在");
return;
}else {
if(file.exists() && file.length() == 0) {
System.out.println("文件为空!");
return;
}
}
long startTime = System.currentTimeMillis();
String[] strs=new String[1000000];
Scanner x = new Scanner(file);
int i=0;
boolean flag=false;
while(x.hasNextLine()) {
String[] str=x.nextLine().split("\\W+");
for(int ms=0;ms<str.length;ms++) {
if(!str[ms].equals("")&&str[ms].length()>2) {
flag=false;
// System.out.println(str[ms]);
if(i!=0) {
for(int t=0;t<i;t++) {
if(!str[ms].equals(strs[t])) {
flag=true;
}
}
}else {
flag=true;
}

if(flag) {
strs[i]=str[ms];
i++;
}

}

}
}
if(i==1) {
System.out.println("该文件只有一个单词!无法实现词语接龙");
}
String sentence = "";
String word="";
String max="";
for(int m=0;m<i;m++) {
sentence = strs[m];
word = sentence;
for(int j=m+1;j<i;j++) {
if(strs[j].toLowerCase().subSequence(0, 1).equals(word.toLowerCase().subSequence(word.length()-1, word.length()))) {
word = strs[j];
sentence+="-"+word;
}
}

if(sentence.indexOf("-")!=-1) {
if(sentence.length()>max.length()) {
max = sentence;
}
}

}

long endTime = System.currentTimeMillis();
System.out.println(endTime-startTime+"ms");
if(max.length()!=0) {
System.out.println(max);
}else {
System.out.println("无首尾相连");
}


}

}

标签:26,String,sentence,System,2023.2,ms,println,out
From: https://www.cnblogs.com/zzfdbk/p/17162038.html

相关文章

  • 2023.2.27
    课堂练习01题目:计算最长英语单词链。一、题目内容:大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N 个不同的英语单词,我们能否写一个程序,快速找出最长......
  • 2023.2.27每日总结
    今天课堂练习代码如下packagektlx01;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOExc......
  • 2023.2.27——软件工程日报
    所花时间(包括上课):4h代码量(行):0行博客量(篇):1篇今天,上午复习了一些计算机网络的知识点,下午学习建民老师的课程。我了解到的知识点:1.复习了StringBuffer2.利用算法计算单......
  • 2022-10-26-CS231N-课后思考后笔记
    layout:posttitle:CS231N-课后思考后笔记subtitle:CS231N-课后思考后笔记description:CS231N-课后思考后笔记date:2022-10-26categories:deep......
  • 2023.2.27课堂测验
    今天在课堂上进行了,《飘》英文的最长单词链的计算。首先,我进行了流程的构思,先进行单词的首尾读取然后进行,第一个单词尾与第二单词的首进行比较。最后进行统计。在课堂......
  • 一文搞懂weblogic CVE-2018-2628原理与利用
    参考:http://xxlegend.com/2018/06/20/CVE-2018-2628简单复现和分析/在CVE-2017-3248的利用中,我们用ysoserial生成了一个java.rmi.registry.Registry类型的proxy首先回......
  • Error downloading packages: glibc-2.17-326.el7_9.i686: [Errno 5]
     001、yum安装软件出现如下报错  002、其中的一个原因是python的版本造成的,即将系统默认调用的python有python2改用了python3,而yum命令兼容的python版本是python......
  • 26、利用GPU训练模型
    1、使用GPU来训练,找到四个板块的cuda函数,进行调用 1、  只有当cuda可用的时候才把变量引过去,下面调用的时候都一样,但是这样每次都写会很麻烦2、数据集是不能直......
  • 2023.2.27周一每日总结
    今天上课老师讲解了程序的组成,以及在我们以后的编程过程中最重要的是什么,通过课堂练习帮助我们理解如何逐步优化自己的代码,进而使程序更加简单易懂,举了飞机失事时程序出......
  • SkeyeRTMPClient拉取RTMP流扩展支持HEVC(H.265)解决方案
    不久前我们已经在RTMP推送端扩展支持了HEVC(H.265后文统称H265)编码格式,但是,由于RTMP官方指定的协议格式已经不再更新,官方的播放器的Flash播放器并不支持H265格式的编码数......