package ch04;
public class SeqString implements IString {
char[] data;
public SeqString(char[] data) {
this.data=data;
}
@Override
public IString strAssign(char[] data) {
// TODO Auto-generated method stub
return null;
}
@Override
public IString strCopy(IString t) {
// TODO Auto-generated method stub
return null;
}
@Override
public int strCmp(IString t) {
int i,comlen;
if(this.strLength()<t.strLength())
comlen=this.strLength();
else
comlen=t.strLength();
for(i=0;i<comlen;i++) {
SeqString t1=(SeqString)t;
if(this.data[i]>t1.data[i])
return 1;
else if(this.data[i]<t1.data[i])
return -1;
if(this.strLength()==t1.strLength())
return 0;
else if(this.strLength()>t1.strLength())
return 1;
}
return -1;
}
@Override
public int strLength() {
int len=0;
for(int i=0;i<data.length;i++)
if(data[i]!='\u0000')
len++;
return len;
}
@Override
public IString insStr(int i, IString s2) {
int j;
char[ ] str;
str=new char[this.strLength()+s2.strLength()];
if(i<=0 || i>data.length+1)
return null;
for(j=0;j<i-1;j++) {
str[j]=this.data[j];
}
for(j=0;j<s2.strLength();j++) {
str[i+j-1]=((SeqString)s2).data[j];
}
for(j=i-1;j<this.strLength();j++) {
str[s2.strLength()+j]=this.data[j];
}
return new SeqString(str);
}
@Override
public IString concat(IString t) {
// TODO Auto-generated method stub
return null;
}
@Override
public IString subStr(int i, int j) {
// TODO Auto-generated method stub
return null;
}
@Override
public IString delStr(int i, int j) {
// TODO Auto-generated method stub
return null;
}
@Override
public IString repStr(int i, int j, IString t) {
// TODO Auto-generated method stub
return null;
}
@Override
public void dispStr() {
for(int i=0;i<data.length;i++) {
System.out.print(data[i]);
}
System.out.println();
}
}
ch04xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
需积分: 0 175 浏览量
更新于2024-04-23
收藏 11KB ZIP 举报
标题 "ch04" 和描述 "ch04xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 没有提供具体的知识点信息,但根据标签 "java" 可以推测这可能与Java编程语言相关的内容有关。通常在学习或讨论Java时,我们可能会涉及很多主题,包括但不限于基础语法、类与对象、接口、继承、多线程、异常处理、集合框架、输入/输出流、网络编程、数据库连接、JVM内存模型、设计模式等。由于具体的标题和描述没有提供详细信息,我会依据常见的Java学习路径来展开讨论。
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是“简单、通用、面向对象、健壮、安全、高性能、可移植、多线程、动态”。以下是一些Java的关键知识点:
1. **基础语法**:Java的语法与C++相似,但也有很多不同之处,如自动垃圾回收、无指针操作等。变量声明、数据类型、运算符、流程控制(if、for、while、switch)、方法定义和调用是学习的基础。
2. **类与对象**:Java是面向对象的语言,一切皆为对象。类是创建对象的模板,包含属性(成员变量)和行为(方法)。对象则是类的实例。
3. **封装、继承、多态**:封装是将数据和操作数据的方法绑定在一起;继承允许一个类(子类)继承另一个类(父类)的属性和方法;多态是指同一操作可以作用于不同类型的对象并产生不同的效果。
4. **接口**:接口是完全抽象的类,只能包含常量和抽象方法。它用于定义行为规范,实现多继承的效果。
5. **异常处理**:Java提供了异常处理机制,通过try-catch-finally语句块来捕获和处理运行时错误。
6. **集合框架**:Java集合框架包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和TreeMap),提供了存储和操作对象的统一接口。
7. **输入/输出流**:Java的I/O流库支持文件读写、网络通信以及数据的序列化和反序列化。
8. **网络编程**:Java提供了丰富的API用于进行TCP和UDP网络编程,如Socket和ServerSocket类。
9. **数据库连接**:Java通过JDBC(Java Database Connectivity)API连接和操作各种数据库,执行SQL语句。
10. **JVM内存模型**:了解Java虚拟机如何管理内存,包括堆、栈、方法区、本地方法栈和程序计数器,以及垃圾回收机制。
11. **设计模式**:设计模式是解决常见问题的最佳实践,例如单例模式、工厂模式、观察者模式等,是提高代码复用性和可维护性的重要工具。
以上仅是Java编程中的一部分关键知识点,实际的学习和应用中会涉及到更多高级特性,如反射、注解、并发编程、NIO(New I/O)、Lambda表达式、模块系统等。在深入学习Java时,理解并熟练掌握这些概念和机制是成为优秀Java开发人员的基础。

pulple
- 粉丝: 15
最新资源
- Java语言字符串前补零和后补零的快速方法
- 基于RRT与自重构技术的UAV编队避障与动态队形调整研究 · RRT
- 基于Simulink的单轮车辆ABS防抱死控制系统仿真模型及其应用 · Simulink 深度版
- Java语言移动整个文件夹或单个文件到另一个文件夹
- Python实现神经网络模型的数学公式识别源码文档说明
- 电力系统中配电网最优潮流的SOCP松弛技术应用与实现
- WinCC高级报表工具:自定义模板与多格式输出在工业自动化中的应用
- 基于ADRC控制的Matlab Simulink半车主动悬架建模:优化车身加速度与悬架性能的仿真研究 MatlabSimulink
- Java中文件与字节数组(byte)相互转换
- 使用PyTorch深度学习框架基于BiLSTM CRF的中文分词系统
- 基于BP神经网络的MNIST手写数字识别Python源码(期末大作业)
- C#基于.NET框架的串口数据读取与多曲线显示系统的实现
- Java语言清空文件夹下所有文件
- 基于OpenCV C#开发的圆卡尺、矩形卡尺等测量工具源码集,含视觉控件与自定义图形工具,运行稳定且操作便捷 v3.0
- PFC5.0技术下的预制裂隙含锚杆试样单轴压缩特性研究
- COMSOL多物理场仿真:压电效应中结构力学与静电场耦合模型及其应用