首页 > 其他分享 >2.27每日总结

2.27每日总结

时间:2023-02-27 20:58:07浏览次数:41  
标签:总结 end charAt kk 每日 public int result 2.27

今天对软件工程有了更深的认识,熟悉了java中文件的相关操作,完成了建民老师布置的读取文件最长英语单词链任务

项目结构

 

 //shouwei.java 定义了一个结构体和相关文件读取方法

package piao;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class shouwei {
public char start; //单词首字母
public char end; //单词尾字母
public int pos; //单词出现位置
public int sum; //单词是连续的第几个
public String word; //单词
public shouwei() {
}

@Override
public String toString() {
return "shouwei [start=" + start + ", end=" + end + ", pos=" + pos + ", sum=" + sum + ", word=" + word
+ "]";
}

public ArrayList<shouwei> symb(String s) { //将文件的单词分离出 删除符号等影响操作 返回一个list结构体

ArrayList<shouwei> kk=new ArrayList<shouwei>();

File file=new File(s);
StringBuffer end=new StringBuffer();
if(!file.exists()) {
System.out.print("该文件不存在");
System.exit(0);
}
try {
BufferedReader reader=new BufferedReader(new FileReader(file));
String text=null;
while((text=reader.readLine())!=null)
{
end.append(text);
}

} catch (IOException e) {
System.out.println("程序出现问题");
}
StringBuffer result=new StringBuffer();
for(int i=0;i<end.length();i++) {
if(end.charAt(i)>='a'&&end.charAt(i)<='z')
result.append(end.charAt(i));
else if(end.charAt(i)>='A'&&end.charAt(i)<='Z')
result.append(end.charAt(i));
else if(end.charAt(i)==' ')
result.append(end.charAt(i));
else
result.append(" ");

}
int pos1=0;
char start=' ';
char ende;
String word="";
for(int i=1;i<result.length()-1;i++) {
if(result.charAt(i)==' ')
continue;
if(result.charAt(i-1)==' ')
{
word+=result.charAt(i);
start=result.charAt(i);
continue;
}
if(result.charAt(i+1)==' ')
{
shouwei e =new shouwei();
word+=result.charAt(i);
ende=result.charAt(i);
pos1++;
e.start=start;
e.end=ende;
e.pos=pos1;
e.sum=0;
e.word=word;
kk.add(e);
word="";
start=' ';
ende=' ';
continue;
}
if((result.charAt(i)>='a'&&result.charAt(i)<='z')||(result.charAt(i)>='A'&&result.charAt(i)<='Z')) {
word+=result.charAt(i);
}

}
if(kk.size()==0) {
System.out.println("只有一个单词!");
System.exit(0);
}

return kk;

}
public int da(ArrayList<shouwei> kk) {   //返回最大单词链长度
int max=0;
int text=1;
for(int i=0;i<kk.size()-1;i++) {
if(kk.get(i).end==kk.get(i+1).start) {
text++;
kk.get(i).sum=text;
}
else text=1;

max=(max>text)?max:text;
}
return max;
}
public String pos(ArrayList<shouwei> kk) {  //返回最大的单词链
int pos=0;
int max=0;
String s="";
for(int i=0;i<kk.size();i++) {
if(kk.get(i).sum>max) {
max=kk.get(i).sum;
pos=i;
}
}
while(max>0) {
s+=kk.get(pos-max+2).word+" ";
max--;
}
return s;

}
public int position(ArrayList<shouwei> kk) {
int pos=0;
int max=0;
String s="";
for(int i=0;i<kk.size();i++) {
if(kk.get(i).sum>max) {
max=kk.get(i).sum;
pos=i;
}
}
return pos+1;

}

}

 

 

//Piao.java 主函数

package piao;

import java.util.ArrayList;
import java.util.Scanner;


public class Piao {







public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入文件名:");
String text=sc.next();
ArrayList<shouwei> kk=new shouwei().symb(text);
System.out.println("最大长度是:"+new shouwei().da(kk));
System.out.println("最大单词链为:"+new shouwei().pos(kk));


}

}

 

标签:总结,end,charAt,kk,每日,public,int,result,2.27
From: https://www.cnblogs.com/jiazq/p/17161844.html

相关文章

  • 2.27课堂小测
    课堂练习01题目:计算最长英语单词链。一、题目内容:大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N个不同的英语单词,我们能否写一个程序,快速找出最长......
  • 2.27课堂测试总结
    课堂练习01题目:计算最长英语单词链。一、题目内容:大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N个不同的英语单词,我们能否写一个程序,快速找出最长......
  • 2023.2.27每日总结
    今天课堂练习代码如下packagektlx01;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOExc......
  • 每日总结6
    又是新的一周,上午起床后玩了一会之后准备今天下午的测试,学习增删改查学习了一小时,到了下午,王建民老师由于晚上要开会的原因,把测试推迟到了下周,和入学第一次测评一起,然后进......
  • 2023.2.27——软件工程日报
    所花时间(包括上课):4h代码量(行):0行博客量(篇):1篇今天,上午复习了一些计算机网络的知识点,下午学习建民老师的课程。我了解到的知识点:1.复习了StringBuffer2.利用算法计算单......
  • 2.27今日总结
     今天建民老师为我们讲解了软件工程的基本概念,并叫我们完成单词的接龙。但我只会输入和输出。importjava.io.File;importjava.io.FileReader;importjava.io.FileWrit......
  • #yyds干货盘点#【愚公系列】2023年02月 .NET/C#知识点-程序运行计时的总结
    前言在分析一个程序算法时间复杂度时,可以使用统计程序或程序片段的计算时间有助于理解程序性质,许多语言或系统都提供了内部计时功能。下面主要是讲解C#中的计时方式:Stop......
  • 2023.年2.27日软工日报
    今天下午又是四节的软件工程,老师讲了讲软件工程的定义。然后后边就是测试。课堂练习01题目:计算最长英语单词链。一、题目内容:大家经常玩成语接龙游戏,我们试一试英语的......
  • 助教工作总结(计算机网络)
    一、助教工作的具体职责和任务(1)与该课程的其他助教相互配合·共同整理与该课程相关的题库·协调沟通两个班学生进行实验的时间·互相讨论交流遇到的问题以及批改作......
  • 2.27每日总结
    今天是周一,下午有四节软件工程的课。前两节老师给我们讲了讲课。到三四节时出了一道题给我们做。题目要求在一个文本文件中有N个不同的英语单词,我们能否写一个程序,快速......