當前位置:首頁 » 編程語言 » c語言bm
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言bm

發布時間: 2022-12-12 22:08:31

❶ 急!!!!c語言問題!!

//改了,可以用vc++6.0編譯,問題不多,就是有些地方不注意。
#include<stdio.h>
#include<math.h>
#define C 30*3.1415926/180
#define A 2.8
#define D 7
#define H 4
#define P 90
#define Q 70

int hanshu1()
{
double xm;
int nm,t=1,n=0,m;
for(m=0;m<P/(D+1/2*H);m++)
{
xm=m*(D+1.0/2*H);
nm=(int)((Q-(Q*xm)/P)/A);
n+=nm;}
return n;
}

int hanshu2(double f)
{//改了c[4]={0}
double bm,k,b0,x,y,x3,y3,c[4]={0},r;
int nm,n=0,i,j,m;
k=tan(f);
b0=-k*P;
for(m=0;m<=(Q-b0)/((D+H/2)*sqrt(k*k+1));m++)
{
bm=b0+m*(D+H/2)*sqrt(k*k+1);
x=-(bm/k);
y=bm;
x3=(P*Q-bm*P)/(Q+k*P);
y3=(k*P*Q+bm*Q)/(k*P+Q);
if(x>0&&x<P&&y>0&&y<Q)
{
c[0]=bm*tan(C+f)/k;
c[1]=bm;
}
else if((x>P&&y>0&&y<Q)||(x<0&&y>0&&y<Q))

{
c[0]=bm;
c[1]=y3-x3*tan(C+f);
}
else if((x>0&&x<P&&y>Q)||(x>0&&x<P&&y<0))
{
c[0]=bm*tan(C+f)/k;
c[1]=y3-x3*tan(C+f);
}
if(m>0)
{
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{if(c[j]>c[i])
{
r=c[i];
c[i]=c[j];
c[j]=r;
}
nm=(int)((c[0]-c[1])*cos(C+f)/A);
}
c[2]=c[0];
c[3]=c[1];
n+=nm;
}
return n;
}
}
int hanshu3(double f)
{
double bm,k,b0,x,y,x3,y3,c[4]={0},r;
int nm,n=0,i,j,m;
k=tan(f);
b0=0;
for(m=0;m<=(Q-b0)/((D+H/2)*sqrt(k*k+1));m++)
{
bm=b0+m*(D+H/2)*sqrt(k*k+1);
x=-(bm/k);
y=bm;
x3=(P*Q-bm*P)/(Q+k*P);
y3=(k*P*Q+bm*Q)/(k*P+Q);
if(x>0&&x<P&&y>0&&y<Q)
{
c[0]=bm*tan(C+f)/k;
c[1]=bm;
}
else if((x>P&&y>0&&y<Q)||(x<0&&y>0&&y<Q))

{
c[0]=bm;
c[1]=y3-x3*tan(C+f);
}
else if((x>0&&x<P&&y>Q)||(x>0&&x<P&&y<0))
{
c[0]=bm*tan(C+f)/k;
c[1]=y3-x3*tan(C+f);
}
if(m>0)
{
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{
if(c[j]>c[i])
{
r=c[i];
c[i]=c[j];
c[j]=r;
}
nm=(int)((c[0]-c[1])*cos(C+f)/A);
}
c[2]=c[0];
c[3]=c[1];
n+=nm;
}
return n;
}

}

void main()
{
double f;
int na[1000],t=0,i,j,z;
na[0]=hanshu1();
for(f=0;f<90;f=f+1)
{
na[t]=hanshu2(f);
t++;
}
for(f=180;f>90;f=f-1)
{
na[t]=hanshu3(f);
t++;
}
for(i=0;i<t;i++)
for(j=i+1;j<t;j++)
{
if(na[i]<na[j])
{
z=na[i];
na[i]=na[j];
na[j]=z;
}
printf("%d",na[0]);
}
}
//有很多括弧漏了

❷ 下面是BM演算法的C語言源碼,小弟看的不是太懂,求高手在重點位置加點標注既對每行代碼解釋一下,謝謝。。。

Dijkstra演算法--c++源代碼--by 偉偉豬 [轉貼 2005-12-15 20:21:00 ] 發表者: 偉偉豬

/***********************************************
設G=(V,E)是一個每條邊都有非負長度的有向圖,有一個特異的頂點s稱為緣。
單源最短路徑問題,或者稱為最短路徑問題,是要確定從s到V中沒一個其他
頂點的距離,這里從頂點s到x的距離定義為從s到x的最短路徑問題。這個問題
可以用Dijkstra演算法解決。下面我給我了c++下的源代碼! --by 偉偉豬
************************************************/
#include<iostream.h>
void main()
{
int infinity=100,j,i,n,k,t,**w,*s,*p,*d;
cout<<"input the value of n:";
cin>>n;
cout<<endl;

d=new int[n];
s=new int[n];
p=new int[n];
w=new int*[n];
for(i=0;i<n;i++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>w[i][j];

for(s[0]=1,i=1;i<n;i++)
{
s[i]=0;d[i]=w[0][i];
if(d[i]<infinity) p[i]=0;
else p[i]=-1;
}

for(i=1;i<n;i++)
{
t=infinity;k=1;
for(j=1;j<n;j++)
if((!s[j])&&(d[j]<t))
s[k]=1;//point k join the S
for (j=1;j<n;j++)
if((!s[j])&&(d[j]>d[k]+w[k][j]))

}
cout<<"從源點到其它頂點的最短距離依次如下:";
for(i=1;i<n;i++) cout<<d[i]<<" ";

}
/*********
頂點個數用n表示,這里給出的例子n=6
100 1 12 100 100 100
100 100 9 3 100 100
100 100 100 100 5 100
100 100 4 100 13 15
100 100 100 100 100 4
100 100 100 100 100 100
具體例子見 電子工業出版社 《演算法設計技巧與分析》148頁
************/

❸ 用C語言編寫程序:輸入體重和身高,輸出體重指數BMI

例子如下:

知識擴展:

BMI指數(即身體質量指數,簡稱體質指數又稱體重,英文為Body Mass Index,簡稱BMI),是用體重公斤數除以身高米數平方得出的數字,是目前國際上常用的衡量人體胖瘦程度以及是否健康的一個標准。主要用於統計用途,當我們需要比較及分析一個人的體重對於不同高度的人所帶來的健康影響時,BMI值是一個中立而可靠的指標。

BMI值原來的設計是一個用於公眾健康研究的統計工具。當我們需要知道肥胖是否對某一疾病的致病原因時,我們可以把病人的身高及體重換算成BMI值,再找出其數值及病發率是否有線性關聯。不過,隨著科技進步,現時BMI值只是一個參考值。要真正量度病人是否肥胖,還需要利用微電力量度病人的阻抗,以推斷病者的脂肪厚度。因此,BMI的角色也慢慢改變,從醫學上的用途,變為一般大眾的纖體指標。

❹ 在c語言程序設計語句中,bm(pin)是啥意思

這個看起來像是針對硬體的編程,這是一段宏代碼。相當於一個小程序。BM的意思需要聯系這個程序用在什麼地方來考慮。好像是調制的意思。

❺ 如何用c語言讀取圖片

#include

using namespace std;

#define Twoto1(i,j,w) i*w+j

void createimage(unsigned char *&img, int w, int h)

{img = new unsigned char[w*h];}

void delateimage(unsigned char*img)

{delete []img;}

void readimage(unsigned char*img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp,fname, "rb");

if (fp == NULL){ cout << "error" << endl; return; }

size_t result;

result=fread(img , sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Reading error" << endl;

return;

}

else

cout << "Reading Ok!" << endl;

fclose(fp);

}

void mobanjuanji(unsigned char image, unsigned char*image1, int w, int h, float moban[5][5])

{

for (int i = 0; i for (int j = 0; j if (iw - 3 || j>h - 3)

image1[Twoto1(i,j,w)] = 0;

else

{

float temp = 0;

for (int m = 0; m<5; m++)

for (int n = 0; n<5; n++)

{

temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);

}

if (temp>255) image1[Twoto1(i, j, w)] = 255;

else if (temp<0) image1[Twoto1(i, j, w)] = 0;

else image1[Twoto1(i, j, w)] = temp;

}

}

void saveimage(unsigned char *img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp, fname, "wb");

if (fp == NULL) { cout << "error" << endl; return; }

size_t result;

result = fwrite(img, sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Write error" << endl;

return;

}

else

cout << "Write Ok!" << endl;

fclose(fp);

}

void main()

{

unsigned char *img;

unsigned char *img1;

float moban[5][5] = { {0,0,0,0,0},{0, -1, 0, 1, 0 }, { 0, -2, 0, 2, 0 }, { 0, -1, 0, 1, 0 }, { 0,0,0,0,0 } };

//float moban[5][5] = { 0 };

int w = 512, h = 512;

createimage(img, w, h);

createimage(img1, w, h);

readimage(img, w, h, "E:ss.raw");

mobanjuanji(img, img1,w, h, moban);

saveimage(img, w, h, "E:ss_1.raw");

saveimage(img1, w, h, "E:ss_2.raw");

delateimage(img);

delateimage(img1);

}

(5)c語言bm擴展閱讀

C語言實現一個圖片的讀出和寫入

#include <stdlib.h>

#include <windows.h>

int file_size(char* filename)//獲取文件名為filename的文件大小。

{

FILE *fp = fopen(filename, "rb");//打開文件。

int size;

if(fp == NULL) // 打開文件失敗

return -1;

fseek(fp, 0, SEEK_END);//定位文件指針到文件尾。

size=ftell(fp);//獲取文件指針偏移量,即文件大小。

fclose(fp);//關閉文件。

return size;

}

int main ()

{

int size=0;

size=file_size("qw");

printf("%d ",size);

FILE * pFile,*qw;

char *buffer=(char*)malloc(sizeof(char)*size);

qw =fopen("qw","r");

pFile = fopen ( "qwe" , "wb" );

printf("%d== ",pFile);

printf("%d ",size);

fread(buffer,1,size,qw);

fwrite (buffer , sizeof(byte), size , pFile );

fclose (pFile);

rename("qwe","Groot.jpg");

return 0;

}

❻ C語言中,fprintf(fp,"%s",BM)是什麼意思

向fp指向的文件指針輸出一個字元串,字元串的內容為存放在BM變數中的字元串。

❼ 求字元串匹配BM演算法的代碼,要c或者c++的。

BM演算法的C語言實現:

// 函數:int* MakeSkip(char *, int)
// 目的:根據壞字元規則做預處理,建立一張壞字元表
// 參數:
// ptrn => 模式串P
// PLen => 模式串P長度
// 返回:
// int* - 壞字元表
int* MakeSkip(char *ptrn, int pLen)
{
int i;
//為建立壞字元表,申請256個int的空間
//PS:之所以要申請256個,是因為一個字元是8位,
// 所以字元可能有2的8次方即256種不同情況
int *skip = (int*)malloc(256*sizeof(int));

if(skip == NULL)
{
fprintf(stderr, "malloc failed!");
return 0;
}

//初始化壞字元表,256個單元全部初始化為pLen
for(i = 0; i < 256; i++)
{
*(skip+i) = pLen;
}

//給表中需要賦值的單元賦值,不在模式串中出現的字元就不用再賦值了
while(pLen != 0)
{
*(skip+(unsigned char)*ptrn++) = pLen--;
}

return skip;
}

// 函數:int* MakeShift(char *, int)
// 目的:根據好後綴規則做預處理,建立一張好後綴表
// 參數:
// ptrn => 模式串P
// PLen => 模式串P長度
// 返回:
// int* - 好後綴表
int* MakeShift(char* ptrn,int pLen)
{
//為好後綴表申請pLen個int的空間
int *shift = (int*)malloc(pLen*sizeof(int));
int *sptr = shift + pLen - 1;//方便給好後綴表進行賦值的指標
char *pptr = ptrn + pLen - 1;//記錄好後綴表邊界位置的指標
char c;

if(shift == NULL)
{
fprintf(stderr,"malloc failed!");
return 0;
}

c = *(ptrn + pLen - 1);//保存模式串中最後一個字元,因為要反復用到它

*sptr = 1;//以最後一個字元為邊界時,確定移動1的距離

pptr--;//邊界移動到倒數第二個字元(這句是我自己加上去的,因為我總覺得不加上去會有BUG,大家試試「abcdd」的情況,即末尾兩位重復的情況)

while(sptr-- != shift)//該最外層循環完成給好後綴表中每一個單元進行賦值的工作
{
char *p1 = ptrn + pLen - 2, *p2,*p3;

//該do...while循環完成以當前pptr所指的字元為邊界時,要移動的距離
do{
while(p1 >= ptrn && *p1-- != c);//該空循環,尋找與最後一個字元c匹配的字元所指向的位置

p2 = ptrn + pLen - 2;
p3 = p1;

while(p3 >= ptrn && *p3-- == *p2-- && p2 >= pptr);//該空循環,判斷在邊界內字元匹配到了什麼位置

}while(p3 >= ptrn && p2 >= pptr);

*sptr = shift + pLen - sptr + p2 - p3;//保存好後綴表中,以pptr所在字元為邊界時,要移動的位置

// PS:在這里我要聲明一句,*sptr = (shift + pLen - sptr) + p2 - p3;
// 大家看被我用括弧括起來的部分,如果只需要計算字元串移動的距離,那麼括弧中的那部分是不需要的。
// 因為在字元串自左向右做匹配的時候,指標是一直向左移的,這里*sptr保存的內容,實際是指標要移動
// 距離,而不是字元串移動的距離。我想SNORT是出於性能上的考慮,才這么做的。
pptr--;//邊界繼續向前移動
}

return shift;
}

// 函數:int* BMSearch(char *, int , char *, int, int *, int *)
// 目的:判斷文本串T中是否包含模式串P
// 參數:
// buf => 文本串T
// blen => 文本串T長度
// ptrn => 模式串P
// PLen => 模式串P長度
// skip => 壞字元表
// shift => 好後綴表
// 返回:
// int - 1表示成功(文本串包含模式串),0表示失敗(文本串不包含模式串)。
int BMSearch(char *buf, int blen, char *ptrn, int plen, int *skip, int *shift)
{
int b_idx = plen;
if (plen == 0)
return 1;
while (b_idx <= blen)//計算字元串是否匹配到了盡頭
{
int p_idx = plen, skip_stride, shift_stride;
while (buf[--b_idx] == ptrn[--p_idx])//開始匹配
{
if (b_idx < 0)
return 0;
if (p_idx == 0)
{
return 1;
}
}
skip_stride = skip[(unsigned char)buf[b_idx]];//根據壞字元規則計算跳躍的距離
shift_stride = shift[p_idx];//根據好後綴規則計算跳躍的距離
b_idx += (skip_stride > shift_stride) ? skip_stride : shift_stride;//取大者
}
return 0;
}

❽ 用c語言定義結構體,存儲學生學號和三門課成績及平均分,初始化成績如下

k=N[(int)s[0]-1].am+N[(int)s[0]-1].bm+N[(int)s[0]-1].cm;

改為
k=N[(int)(s[0]-'1')].am+N[(int)(s[0]-'1')].bm+N[(int)(s[0]-'1')].cm;
試試。

❾ c語言中 符號&= 是什麼意思 如 USBCS &=~bmDISCON;

C語言中&=是一個賦值與位與復合運算符號,如USBCS&=bmDISCON和USBCS=USBCS&bmDISCON是等效的,它的意思是先將USBCS與bmDISCON進行位與運算後再把它賦給USBCS,例如:A=00001110,B=11110011經過A&=A後A就變成了 A=00000010。相關內容可以看C語言的基礎知識 位運算

❿ 用C語言寫一個類似於ATM機的程序,有開戶(姓名,密碼),存款,取款,查詢余額,轉賬的功能,

packagecom.efounder.pub.util;

importjava.util.ArrayList;
importjava.util.Vector;

/**
*字元串處理工具類
*@authorxiewan
*/
publicclassStringFunction{

(String[]stringArray,charsymbol){
StringBuffersb=newStringBuffer();
for(inti=0;i<stringArray.length;i++){
sb.append(stringArray[i]);
sb.append(symbol);
}
returnsb.toString();
}

publicstaticString[](Stringstring,Stringsymbol){
VectorstringVector=(string,symbol);
String[]stringArray=newString[stringVector.size()];
for(inti=0;i<stringVector.size();i++)
stringArray[i]=(String)(stringVector.elementAt(i));
returnstringArray;
}

publicstaticString[]NO(Stringstring,Stringsymbol){
VectorstringVector=NO(string,symbol);
String[]stringArray=newString[stringVector.size()];
for(inti=0;i<stringVector.size();i++)
stringArray[i]=(String)(stringVector.elementAt(i));
returnstringArray;
}


publicstaticVector(Stringstring,Stringsymbol){
VectorstringVector=newVector();
String[]array=string.split(symbol);
for(inti=0;i<array.length;i++){
stringVector.addElement(array[i]);
}
returnstringVector;
}

publicstaticVectorNO(Stringstring,Stringsymbol){
VectorstringVector=newVector();
String[]array=string.split(symbol);
for(inti=0;i<array.length;i++){
stringVector.addElement(array[i]);
}
returnstringVector;
}

(VectorstringVector,charsymbol){
StringBuffersb=newStringBuffer();
for(inti=0;i<stringVector.size();i++){
sb.append(stringVector.elementAt(i));
sb.append(symbol);
}
returnsb.toString();
}

publicstaticStringfillString(StringpsStr,charpsC,intpsLen){
if(psStr.length()>psLen){
returnpsStr.substring(0,psLen);
}else{
char[]vcTemp=newchar[psLen];
for(inti=0;i<psLen;i++){
vcTemp[i]=psC;
}
StringvsTemp=newString(vcTemp);
StringvsResult=psStr.concat(vsTemp);
returnvsResult.substring(0,psLen);
}
}
publicstaticStringformatValue(doublevalue,intsep,charch,intround){
return"";
}

publicstaticStringGB2Uni(Stringoriginal){
if(original!=null){
try{
returnnewString(original.getBytes("GBK"),"ISO8859_1");
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}else
returnnull;
}

publicstaticStringUni2GB(Stringoriginal){
if(original!=null){
try{
returnnewString(original.getBytes("ISO8859_1"),"GBK");
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}else
returnnull;
}

publicstaticStringgenerateID(Stringpre,intvalue,intnum){
charchs[]=newchar[num];
for(inti=0;i<num;i++){
chs[num-i-1]=(char)(48+value%10);
value=value/10;
}
returnpre.trim()+newString(chs);
}
publicstaticStringgetTempStr(){
returnString.valueOf(System.currentTimeMillis());
}
(StringpsStr,StringpsS){
intviPos=psStr.indexOf(psS);
returnviPos>=0;
}

(StringpsStr,StringpsS,StringpsD){
intviPos=psStr.indexOf(psS);
if(viPos<0)
returnpsStr;
intviLength=psS.length();
StringBuffervsValue=newStringBuffer();
while(viPos>=0){
vsValue.append(psStr.substring(0,viPos));
vsValue.append(psD);
psStr=psStr.substring(viPos+viLength);
viPos=psStr.indexOf(psS);
}
vsValue.append(psStr);
returnvsValue.toString();
}

publicstaticString[]splitStringByToken(StringvsStr,Stringsymbol){
StringvsString[]={"",""};
intviPos1;
viPos1=vsStr.indexOf(symbol);
if(viPos1<0){
vsString[0]=vsStr;
vsString[1]="";
returnvsString;
}
vsString[0]=vsStr.substring(0,viPos1);
vsString[1]=vsStr.substring(viPos1+symbol.length(),vsStr.length());
returnvsString;
}
(Stringstring,Stringsymbol){
VectorstringVector=newVector();
StringvsStr=string.trim();
StringvsTemp=null;
String[]st=null;
while((!vsStr.equals(""))&&isIncludeString(vsStr,symbol)){
st=splitStringByToken(vsStr,symbol);
vsTemp=st[0].trim();
if(!vsTemp.equals(""))
stringVector.addElement(vsTemp);
vsStr=st[1].trim();
}
if(!vsStr.equals(""))
stringVector.addElement(vsStr);
returnstringVector;
}

publicstaticStringgetTempStr(intlength){
Stringstr=String.valueOf(System.currentTimeMillis());
returnstr.substring(str.length()-length);
}
WithNull(Stringstring,Stringsymbol){
VectorstringVector=newVector();
StringvsStr=string.trim();
StringvsTemp=null;
String[]st=null;
while((!vsStr.equals(""))&&isIncludeString(vsStr,symbol)){
st=splitStringByToken(vsStr,symbol);
vsTemp=st[0].trim();
stringVector.addElement(vsTemp);
vsStr=st[1].trim();
}
if(!vsStr.equals(""))
stringVector.addElement(vsStr);
returnstringVector;
}
(StringBm,intJs,StringStruct){
inti,Len,Length;
Len=Bm.length();
Length=GetStructLength(Struct,Js);
if(Len>=Length){
Bm=Bm.substring(0,Length);
}
returnBm;
}

(StringBm,StringStruct){
inti,Len,Length;
Len=Bm.length();
Length=GetStructLength(Struct,0);
for(i=0;i<Length-Len;i++){
Bm+="0";
}
returnBm;
}

(Stringcode,Stringstruct){
intcodeLength=code.length();
intstructLength=struct.length();
inttempLength=0;
for(intjs=1;js<=structLength;js++){
tempLength=GetStructLength(struct,js);
if(codeLength==tempLength)
returnjs;
}
return0;
}

(StringStruct,intJS){
inti,Length=0;
Stringsub;
Integerii;
if(JS==0)
JS=Struct.trim().length();
for(i=0;i<JS;i++){
sub=Struct.substring(i,i+1).trim();
ii=Integer.decode("0x"+sub);
//Length+=Integer..parseInt(sub);
Length+=ii.intValue();
}
returnLength;
}
(StringBM,StringStruct,intSJS){
StringRes="";
intLen;
Len=GetStructLength(Struct,SJS);
if(BM.length()>=Len)
Res=BM.substring(0,Len);
returnRes;
}

(intnum,intleng){
returnFillTagFromBegin(String.valueOf(num),leng,"0");
}

(Stringnum,intleng,StringTag){
StringRes="",tempStr1="",tempStr2="";
tempStr1=String.valueOf(num);
for(inti=0;i<(leng-tempStr1.length());i++){
tempStr2+=Tag;
}
Res=tempStr2+tempStr1;
returnRes;
}

publicstaticStringClearBMZero(StringBM,StringBMStruct){
returnClearBMTag(BM,BMStruct,"0");
}

publicstaticStringClearBMTag(StringBM,StringBMStruct,StringTag){
intJSLen=BMStruct.length();
Stringbm="",ZERO,Tmp;
intLen;
for(inti=1;i<=JSLen;i++){
Tmp=BMStruct.substring(i-1,i);
Len=Integer.parseInt(Tmp);
ZERO=RepeatChar(Tag,Len);
if(!BM.startsWith(ZERO)){
bm+=BM.substring(0,Len);
BM=BM.substring(Len);
}else
break;
}
returnbm;
}

publicstaticStringRepeatChar(Stringc,intlen){
StringRes="";
for(inti=0;i<len;i++){
Res+=c;
}
returnRes;
}

/**
*key1=value1;key2=value2;key3=value3
*
*@paraminputStringString
*@paramhashMapMap
*/
(StringinputString,java.util.MaphashMap){
String[]keyValues=StringFunction.NO(inputString,";");
String[]keyValue;
Stringkey,value;
for(inti=0;i<keyValues.length;i++){
if(!"".equals(keyValues[i])){
keyValue=StringFunction.NO(keyValues[i],"=");
if(keyValue.length<2)
continue;
key=keyValue[0];
value="";
for(intk=1;k<keyValue.length;k++){
value+=keyValue[k];
}
hashMap.put(key,value);
}
}
}

/**
*
*@paramhashMap
*Map
*@returnString
*/
(java.util.MaphashMap){
Object[]keys=hashMap.keySet().toArray();
Stringkey,value,keyValue="";
for(inti=0;i<keys.length;i++){
key=(String)keys[i];
value=(String)hashMap.get(key);
keyValue+=key+"="+value+";";
}
if(keyValue.length()>0){
keyValue=keyValue.substring(0,keyValue.length()-1);
}
returnkeyValue;
}

/**
*
*@paramvalue
*String
*@parammark
*String
*@returnString[]
*/
publicstaticString[]split(Stringvalue,Stringmark){
intindex=value.indexOf(mark);
java.util.Listlist=newArrayList();
while(index>=0){
list.add(value.substring(0,index));
value=value.substring(index+mark.length());
index=value.indexOf(mark);
}
list.add(value);
String[]rtn=newString[list.size()];
System.array(list.toArray(),0,rtn,0,rtn.length);
returnrtn;
}

publicstaticvoidmain(String[]args){
Stringvalue="a;;;;";
String[]rtn=split(value,";;");
System.out.println(rtn);
}

}