亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

倚天杖 2019-02-04 15:05:05
java中,char[ ] subStr=new char[8]是什么意思?
查看完整描述

4 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

定義了一個長度為8的由單個字符組成的數組
區別為一個是"hello",一個是['h','e','l','l','o']
對它們兩個能做的操作方法不同

查看完整回答
反對 回復 2019-03-14
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

是定義一個初始長度為8的字符數組,是指單個字符,要用' '來初始化,比如'a','b',如果寫成'ab'就會出錯
String定義的是字符串,要用" "來初始化,比如"abd",而且可以使用toCharArray()方法來把字符串轉換成字符數組。

查看完整回答
反對 回復 2019-03-14
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

/*
* 按照你給的截圖修正了下,看看是不是你要的
*/
#include<iostream>
#include<cstdio>
using namespace std;
const int MAXSTRLENGTH=99999;//字符串最大長度
/*
***************字符串處理函數的聲明*************
*/
int mystrlen(char* s1);
void mystrcpy(char* s2,char* s1);
void mystrcat(char* 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;
}
}
}
}



查看完整回答
反對 回復 2019-03-14
  • 4 回答
  • 0 關注
  • 1451 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號