c语言字符串缓冲区

思考解决问题:

声明长度大于或等于80的字符数组。例如,char a从内存中的变化表示何时应该使用String类,何时应该使用StringBuffer类。 Struts的表单使用字符串类型。

数据库的varchar对应的java类型也是String。

c语言中的JNI和char *也对应字符串。

字符串在类型对应中使用较多。

可以用StringBuffer写sql语句,然后慢慢加。看起来很整洁。

一般用于字符串拼接。

公共类BaibaiTest {

公共静态void main(String[] args) {

// TODO自动生成的方法存根

String a = " aaaa

String b = " bbbbbb

string buffer ab = new string buffer();

追加。追加("-")。追加(b);

system . out . println(ab . tostring());

扩展数据:

String类是一个字符串常量,不能更改。StringBuffer是一个字符串变量,它的对象可以扩展和修改。

StringBuffer类的构造函数

公共字符串缓冲区()

创建一个StringBuffer类的空对象。

公共字符串缓冲区(int length)

创建一个StringBuffer类的对象,长度为参数length。

注意:如果参数长度小于0,将触发NegativeArraySizeException。

参考来源:百度百科-StringBuffer

C语言如何逆序输出字符串? c语言程序如下:

# includestdio.h

#includestring.h

主()

{

int i,j,t,n;

char a[10];

Printf("请输入一个字符串:");

获取(a);

n = strlen(a);

for(I = 0;I = n/2;我)

{

t = a[I];

a[I]= a[n100]。

使用gets()函数输入字符串,该字符串以回车符作为结束标记。

获得字符串的长度,以该长度值-1作为起点,以0作为终点,循环输出字符。

注意:获得字符串长度可以用string.h库的strlen()函数,该函数返回字符串的实际长度,其中不包含空字符。

测试代码

测试代码:

#include stdio.h

#include string.h

int main()

{

char a[100] = {0};

gets(a);

int len = strlen(a);

for (int i = len - 1; i = 0; i--)

     printf("%c", a[i]);

return 0;

}

-[I];

a[n100]。

使用gets()函数输入字符串,该字符串以回车符作为结束标记。

获得字符串的长度,以该长度值-1作为起点,以0作为终点,循环输出字符。

注意:获得字符串长度可以用string.h库的strlen()函数,该函数返回字符串的实际长度,其中不包含空字符。

测试代码

测试代码:

#include stdio.h

#include string.h

int main()

{

char a[100] = {0};

gets(a);

int len = strlen(a);

for (int i = len - 1; i = 0; i--)

     printf("%c", a[i]);

return 0;

}

-[I]= t;

}

for(j = 0;jn;j)

printf("%c ",a[j]);

printf(" \ n ");

}

扩展数据:

逆序输出字符串的五种方法

1.使用数组循环

2.StringBuffer的逆向方法

3.StringBuffer循环

4.堆栈中的后进先出

5.迭代已完成

C语言相比java有什么优势? C语言和java的区别和各自的优势:(C是面向过程的,java是面向对象的)

1.语言背景:

单机时代广泛使用c语言,结合了高级语言的简洁和汇编语言的执行效率。Java是在研究电子消费产品和互联网应用开发平台的基础上实现的,它的很多语言特性也是从C语言继承和发展而来的,这使得面向对象更加自然和完善(比如安全性和代码可移动性)。

2.跨平台语言:

c语言不能跨平台,Java也不怕这个,因为JAVA可以跨平台,在windows和unix系统上都能很好的运行。

3.指针管理:

指针是C语言最大的优点,它允许用户访问几乎所有的内存资源和计算机的其他资源(也就是在哪里打字)。同时,C语言程序的掌握和调试也是最困难的问题,给系统的安全性和稳定性带来很大困难。而java中没有指针的概念,虽然也有数组和对象引用的概念,但其管理全部交给系统管理,限制了用户对资源的访问,同时也给java系统带来了安全性和稳定性。JAVA语言使得程序员在没有指针的情况下无法找到指针直接访问内存,并增加了自动内存管理功能,从而有效防止了C语言中因指针操作错误导致的系统崩溃,比如野指针。但不代表JAVA没有指针。指针仍然在虚拟机内部使用,但是不允许外人使用。这有利于Java程序的安全性。

4.包装

java中引入了包的概念,使得面向对象和面向组件的开发更加方便。但是C语言中没有包的概念,需要其他方式实现。Java可以实现面向对象的思想(封装、乘法、多态)。因为C语言为了照顾C语言的大量用户而兼容C,所以只是变成了有类的C语言,多多少少影响了它面向对象的彻底性!JAVA是一种完全面向对象的语言,语法更清晰,规模更小,更容易学习。它在对各种编程语言进行深入细致研究的基础上,摒弃了其他语言的缺点,从根本上解决了C语言固有的缺陷。

5.数据类型和类

Java是一种完全面向对象的语言,所有的函数和变量都必须是类的一部分。除了基本数据类型,其余都被当作类对象,包括数组。对象将数据和方法结合起来,封装在类中,这样每个对象都可以实现自己的特征和行为。c语言允许函数和变量被定义为全局的。

6.自动内存管理

Java程序中的所有对象都是用new运算符构建在内存栈上的,Java自动执行操作,不需要程序员进行内存回收和删除。在C语言中,内存资源必须由程序外壳释放,增加了程序员的负抛。在Java中,当一个对象不再被使用时,垃圾收集器会对它进行标记以指示删除。JAVA中无用内存回收程序以线程方式在后台运行,空闲时间工作。

7.字符串:

c语言不支持字符串变量。在C语言程序中,空终止符用来表示字符串的结尾。在Java中,字符串是通过类对象(strinR和stringBuffer)实现的,这是Java语言的核心!

Java没有功能。作为一种比C语言更纯粹的面向对象语言,Java迫使开发者在类中包含所有的例程。事实上,通过方法实现例程可以激励开发人员更好地组织编码。

我觉得这篇文章写得不错,就摘抄给你,希望对楼主有帮助。

c语言和java的区别 c语言是一种经典的面向过程的编程语言。一般人们学习C语言是为了理解编程,锻炼逻辑思维能力,在一些与硬件密切相关的编程中也经常用到。\x0d\x0a\x0d\x0aC是在C语言的基础上增加了面向对象的概念,是一种混合的面向对象语言,功能强大但难度较大。\x0d\x0a\x0d\x0aJava是在c基础上的改进,摒弃了c的一些缺点,它的语法和c非常相似,运行在Java虚拟机上,所以可以跨平台编译,随处执行。\x0d\x0a\x0d\x0a编程好学但难掌握,哪个好学哪个不好学。两者都有很好的发展前景,看方向。底层C,桌面应用,游戏等。c,嵌入式,网页,Java。

用C语言写一个类似ATM的程序,具有开户(名称和密码)、存款、取款、查询余额、转账等功能。 包com . e founder . pub . util;

导入Java . util . ArrayList;

导入Java . util . vector;

/**

*字符串处理工具类

* @作者谢万志

*/

公共类StringFunction {

公共静态字符串convertFromStringArrayToStringBySymbol(String[]String array,char symbol) {

string buffer sb = new string buffer();

for(int I = 0;i stringArray .长度;i ) {

sb . append(string array[I]);

sb .追加(符号);

}

return sb . tostring();

}

public static String[]convertFromStringToStringArrayBySymbol(String String,String symbol) {

vector string vector = convertFromStringToStringVectorBySymbol(string,symbol);

String[]String array = new String[String vector . size()];

for(int I = 0;I string vector . size();我)

String array[I]=(String)(String vector . element at(I));

返回stringArray

}

public static String[]convertFromStringToStringArrayBySymbolNO(String String,String symbol) {

vector string vector = convertFromStringToStringVectorBySymbolNO(string,symbol);

String[]String array = new String[String vector . size()];

for(int I = 0;I string vector . size();我)

String array[I]=(String)(String vector . element at(I));

返回stringArray

}

公共静态向量convertFromStringToStringVectorBySymbol(String String,String symbol) {

向量string Vector = new Vector();

string[]array = string . split(symbol);

for(int I = 0;I数组.长度;i ) {

string vector . add element(array[I]);

}

返回stringVector

}

公共静态向量convertFromStringToStringVectorBySymbolNO(String String,String symbol) {

向量string Vector = new Vector();

string[]array = string . split(symbol);

for(int I = 0;I数组.长度;i ) {

string vector . add element(array[I]);

}

返回stringVector

}

公共静态字符串convertFromStringVectorToStringBySymbol(Vector String Vector,char symbol) {

string buffer sb = new string buffer();

for(int I = 0;I string vector . size();i ) {

sb . append(string vector . element at(I));

sb .追加(符号);

}

return sb . tostring();

}

公共静态字符串fillString(String psStr,char psC,int psLen) {

if (psStr.length() psLen) {

返回psStr.substring(0,PS len);

}否则{

char[]VC temp = new char[PS len];

for(int I = 0;我psLeni ) {

VC temp[I]= psC;

}

String vsTemp =新字符串(VC temp);

string vs result = psstr . concat(vs temp);

返回vsResult.substring(0,PS len);

}

}

公共静态字符串格式Value(double value,int sep,char ch,int round) {

返回“”;

}

公共静态字符串GB2Uni(字符串原始){

如果(原创!= null) {

尝试{

返回新字符串(original.getBytes("GBK ")," ISO8859 _ 1 ");

} catch(异常e) {

e . printstacktrace();

返回null

}

}否则

返回null

}

公共静态字符串Uni2GB(字符串原始){

如果(原创!= null) {

尝试{

返回新字符串(original.getBytes("ISO8859_1 ")," GBK ");

} catch(异常e) {

e . printstacktrace();

返回null

}

}否则

返回null

}

公共静态字符串generateID(String pre,int value,int num) {

char CHS[]= new char[num];

for(int I = 0;i numi ) {

CHS[num-I-1]=(char)(48 value % 10);

值=值/10;

}

返回pre.trim()新字符串(CHS);

}

公共静态字符串getTempStr() {

返回string . value of(system . current time millis());

}

public static boolean is include String(String psStr,String psS) {

int viPos = psstr . index of(psS);

返回viPos = 0;

}

公共静态字符串替换字符串(字符串psStr,字符串psS,字符串psD) {

int viPos = psstr . index of(psS);

如果(viPos 0)

返回psStr

int viLength = PSS . length();

string buffer vs value = new string buffer();

while (viPos = 0) {

vs value . append(psstr . substring(0,viPos));

vs value . append(psD);

psStr = psStr . substring(viPos viLength);

viPos = psstr . index of(psS);

}

vs value . append(psStr);

返回vs value . tostring();

}

public static String[]splitStringByToken(String vsStr,String symbol) {

String vsString[] = { " "," " };

int viPos1

vipos 1 = vsstr . index of(symbol);

if (viPos1 0) {

vs string[0]= vsStr;

vs string[1]= " ";

返回vsString

}

vsString[0] = vsStr.substring(0,vipos 1);

vs string[1]= vsstr . substring(vipos 1 symbol . length()、vsstr . length());

返回vsString

}

public static Vector convertFromStringToStringVectorByString(String String,String symbol) {

向量string Vector = new Vector();

string vsStr = string . trim();

String vsTemp = null

string[]ST = null;

而((!vsStr . equals(" ")is includestring(vsStr,symbol)) {

st = splitStringByToken(vsStr,symbol);

vsTemp = st[0]。trim();

如果(!vsTemp.equals(" ")

string vector . add element(vs temp);

vsStr = st[1]。trim();

}

如果(!vsStr.equals(" ")

string vector . add element(vsStr);

返回stringVector

}

公共静态字符串getTempStr(int length) {

string str = string . value of(system . current time millis());

返回str . substring(str . length()-length);

}

公共静态向量convertFromStringToStringVectorByStringWithNull(String String,String symbol) {

向量string Vector = new Vector();

string vsStr = string . trim();

String vsTemp = null

string[]ST = null;

而((!vsStr . equals(" ")is includestring(vsStr,symbol)) {

st = splitStringByToken(vsStr,symbol);

vsTemp = st[0]。trim();

string vector . add element(vs temp);

vsStr = st[1]。trim();

}

如果(!vsStr.equals(" ")

string vector . add element(vsStr);

返回stringVector

}

公共静态字符串DelZeroForBM(String Bm,int Js,String Struct) {

int i,Len,Length

len = BM . length();

Length = GetStructLength(Struct,Js);

if (Len = Length) {

Bm = Bm.substring(0,长度);

}

返回Bm;

}

公共静态字符串FillZeroForBM(String Bm,String Struct) {

int i,Len,Length

len = BM . length();

Length = GetStructLength(Struct,0);

for(I = 0;I长度-长度;i ) {

Bm = " 0

}

返回Bm;

}

public static int getJsByCodingStruct(String code,String struct) {

int codeLength = code . length();

int struct length = struct . length();

int tempLength = 0;

for(int js = 1;js = structLengthjs ) {

tempLength = get struct length(struct,js);

if (codeLength == tempLength)

返回js;

}

返回0;

}

public static int get Struct length(String Struct,int JS) {

int i,长度= 0;

字符串sub

整数ii;

如果(JS == 0)

JS = Struct.trim()。长度();

for(I = 0;i JSi ) {

sub = Struct.substring(i,i 1)。trim();

ii = integer . decode(" 0x " sub);

//长度=整数。。parse int(sub);

length = ii . int value();

}

返回长度;

}

公共静态字符串getsubbmfrobm(String BM,String Struct,int SJS) {

String Res =

int Len

Len = GetStructLength(Struct,SJS);

if (BM.length() = Len)

Res = BM.substring(0,Len);

返回Res

}

公共静态字符串FillZeroFromBegin(int num,int leng) {

return FillTagFromBegin(string . value of(num),leng," 0 ");

}

公共静态字符串FillTagFromBegin(String num,int leng,String Tag) {

String Res = " ",tempStr1 = " ",tempStr2 =

tempstr 1 = string . value of(num);

for(int I = 0;I(leng-tempstr 1 . length());i ) {

tempStr2 = Tag

}

Res = tempStr2 tempStr1

返回Res

}

公共静态字符串ClearBMZero(String BM,String BMStruct) {

返回ClearBMTag(BM,BMStruct," 0 ");

}

公共静态字符串ClearBMTag(String BM,String BMStruct,String Tag) {

int JSLen = BM struct . length();

String bm = " ",ZERO,Tmp

int Len

for(int I = 1;i = JSLeni ) {

Tmp = BMStruct.substring(i - 1,I);

len = integer . parse int(Tmp);

ZERO = RepeatChar(Tag,Len);

如果(!BM.startsWith(零)){

bm = BM.substring(0,Len);

BM = BM . substring(Len);

}否则

打破;

}

返回BM;

}

公共静态字符串RepeatChar(String c,int len) {

String Res =

for(int I = 0;我leni ) {

RES = c;

}

返回Res

}

/**

* key1 = value1key2 = value2key3 =值3

*

* @param输入字符串String

* @param hashMap映射

*/

public static void String 2 hashMap(String input String,java.util.Map hashMap) {

string[]key values = string function . convertfromstringtostring arraybysymbolno(input string,";");

string[]key value;

字符串键,值;

for(int I = 0;i keyValues.lengthi ) {

如果(!"".equals(keyValues[i])) {

key value = string function . convertfromstringtostringarraybysymbolno(key values[I]," = ");

if (keyValue.length 2)

继续;

key = key value[0];

值= " ";

for(int k = 1;k keyValue.lengthk ) {

value = key value[k];

}

hashMap.put(key,value);

}

}

}

/**

*

* @param hashMap

*地图

* @返回字符串

*/

公共静态字符串hashMap 2 String(Java . util . map hashMap){

Object[] keys = hashMap.keySet()。to array();

字符串key,value,keyValue =

for(int I = 0;i keys.lengthi ) {

key =(String)keys[I];

value =(String)hashmap . get(key);

keyValue = key " = " value";

}

if (keyValue.length() 0) {

keyValue = keyValue.substring(0,key value . length()-1);

}

返回keyValue

}

/**

*

* @param值

*字符串

* @param mark

*字符串

* @返回字符串[]

*/

public static String[] split(字符串值,字符串标记){

int index = value . index of(mark);

Java . util . list list = new ArrayList();

while (index = 0) {

list.add(value.substring(0,index));

value = value . substring(index mark . length());

index = value . index of(mark);

}

list.add(值);

String[]RTN = new String[list . size()];

System.arraycopy(list.toArray(),0,rtn,0,RTN . length);

返回rtn

}

公共静态void main(String[] args) {

string value = " a;;;; ";

String[] rtn = split(value,";;");

system . out . println(RTN);

}

}

相关文章

发表新评论