java中,char[ ] subStr=new char[8]是什么意思?

java中,char[ ] subStr=new char[8]是什么意思?


倚天杖
浏览 1350回答 4
4回答

LEATH

定义了一个长度为8的由单个字符组成的数组区别为一个是"hello",一个是['h','e','l','l','o']对它们两个能做的操作方法不同

犯罪嫌疑人X

是定义一个初始长度为8的字符数组,是指单个字符,要用' '来初始化,比如'a','b',如果写成'ab'就会出错String定义的是字符串,要用" "来初始化,比如"abd",而且可以使用toCharArray()方法来把字符串转换成字符数组。

侃侃无极

/** 按照你给的截图修正了下,看看是不是你要的*/#include<iostream>#include<cstdio>using namespace std;const int MAXSTRLENGTH=99999;//字符串最大长度/****************字符串处理函数的声明**************/int mystrlen(char*&nbsp;s1);void mystrcpy(char* s2,char*&nbsp;s1);void mystrcat(char*&nbsp;s1,char* s2);void mystrcut(char* s1,char* strsub,int m,int len);void mysort(char* s1);/**********************main函数*********************/void main(void){char* s1=new char[MAXSTRLENGTH];char* substr=new char[0];substr[0]='\0';int flg=-1;cout<<"input s1:"<<endl;gets(s1);char* s2=new char[mystrlen(s1)+1];s2[0]='\0';while(flg!=0){cout<<"你想对字符串s1做什么操作: input:"<<endl;cout<<"0:exit(退出)\t\t"<<"1:copy(复制到s2中)\t\t"<<"2:cat s2(连接s2)"<<endl<<"3:length(获取长度)\t"<<"4:cut(截取)\t\t\t"<<"5:sort(排序)"<<endl;cin>>flg;switch(flg){case 0:exit(0);//退出case 1:mystrcpy(s2,s1);cout<<"复制到s2的字符串为:"<<s2<<endl;break;case 2:mystrcat(s1,s2);cout<<"连接后的字符串为:"<<s1<<endl;break;case 3:cout<<"得到字符串s1的长度为:"<<mystrlen(s1)<<endl;break;case 4:cout<<"输入要截取的字符串s1的位置和长度: :"<<endl;int m,len;cin>>m>>len;mystrcut(s1,substr,m,len);cout<<"截取串s1下标为"<<m<<"开始的"<<len<<"个字符构成的字符串为:"<<substr<<endl;break;case 5:mysort(s1);cout<<"排序后字符串s1为:"<<s1<<endl;break;default:cerr<<"选择有误,请重新选择!"<<endl;}cout<<"\n*******************************************************"<<endl;}}/*************字符串处理的函数实现******************/int mystrlen(char* s1)//字符串长度{int i=0;while(true){if(s1[i]=='\0')i++;}return i;}void mystrcpy(char* s2,char* s1)//字符串拷贝{unsigned int i=0;unsigned int len=mystrlen(s1);for(;i<len;i++){s2[i]=s1[i];}s2[i]='\0';}void mystrcat(char* s1,char* s2)//字符串连接{int l1=mystrlen(s1);int l2=mystrlen(s2);int i=0;for(;i<l2;i++,l1++)//此处字符串的长度尽然会自动增加,而无需用new非配内存!?{s1[l1]=s2[i];}s1[l1]='\0';}void mystrcut(char* s1,char* strsub,int m,int len)//字符串截取{if( (m+len) > mystrlen(s1) ){cerr<<"Index or length is bad"<<endl;return;}int j=0;for(int i=m;i<(m+len);i++,j++){strsub[j]=s1[i];}strsub[len]='\0';}void mysort(char* s1)//字符串排序{int n=mystrlen(s1);char tmp;for(int i=0;i<n-1;i++){for(int j=i+1;j<n;j++){if(s1[i]>s1[j]){tmp=s1[i];s1[i]=s1[j];s1[j]=tmp;}}}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle