java编程代码格式 JAVA代码格式
大家好,关于java编程代码格式很多朋友都还不太明白,今天小编就来为大家分享关于JAVA代码格式的知识,希望对各位有所帮助!
C++、C、或者java,这些语言写代码时应该要怎么规范格式,
C/C++源代码书写规范1.在.h/.cpp的开头应有一段格式统一的说明,内容包括:a.文件名(FileName);b.创建人(Creator);c.文件创建时间(Date);d.简短说明文件功能、用途(Comment)。例:////////////////////////////////////////////// FileName: GetVersion.h// Creator: Liu Haifeng// Date: 2002-10-28// Comment: Get file version information////////////////////////////////////////////2.对于主要功能函数应有注释说明。内容包括:功能、入口/出口参数,必要时还可有备注或补充说明,对于函数中的主要功能代码,也应有注释说明。注释以英文为主。例://////////////////////////////////////////////Remarks:// Check file whether exist////Parameters:// LPCTSTR lpszPathName: Input full path name////Return values:// int: Non-zero means success// Zero means failure////////////////////////////////////////////3.每列代码的长度推荐为80列,最长不得超过120列;折行以对齐为准。例:HANDLE KSOpenFile(const char cszFileName[],int nMode);或者:BOOL KSReadFile(HANDLE hFile,void*pvBuffer,int nReadSize,int*pnReadSize);4.循环、分支代码,判断条件与执行代码不得在同一行上。例:正确:if(n==-2)n= 1;elsen= 2;不得写做:if(n==-2) n= 1;else n= 2;5.指针的定义,*号既可以紧接类型,也可以在变量名之前。例:可写做:int* pnsize;也可写做:int*pnsize;但不得写做:int* pnsize;6.在类的成员函数内调用非成员函数时,在非成员函数名前必须加上"::"。例:::Sleep(2000);7.函数入口参数有缺省值时,应注释说明。例:BOOL KSSaveToFile(const char cszFileName[],BOOL bCanReplace/*= TRUE*/);或者:BOOL KSSaveToFile(const char cszFileName[],BOOL bCanReplace//= TRUE);8. else if必须写在一行。9.与‘{’、‘}’有关的各项规定:9.1‘{’、‘}’应独占一行。在该行内可有注释。例:正确:for(i= 0; i< cbLine; i++){//.....printf("Line%d:", i);printf("%s\n", pFileLines);}不得写做:for(i= 0; i< cb; i++){ printf("Line%d:", i);printf("%s\n", pFileLines);}9.2‘{’必须另起一行,‘{’之后的代码必须缩进一个Tab。‘{’与‘}’必须在同一列上。例:正确:if(i> 0){m= 1;n++;}不得写做:if(i> 0){m= 1;n++;}例外:if(i== 0){ ASSERT(FALSE); return;}9.3在循环、分支之后若只有一行代码,虽然可省略‘{’、‘}’,但不推荐这么做。若省略后可能引起歧义,则必须加上‘{’、‘}’。例:正确:if(n==-2)n= 1;elsen= 2;或者:if(n==-2){ n= 1;}else if(n!= nTemp){ n= 2;}else{ n= 3;}不得写做:if(n==-2)n= 1;else if(n!= nTemp)n= 2;elsen= 3;不推荐:if(i< 1){ n= 1;}else{if(i== 1){ n= 2;}else{if(i> 1){ n= 3;}}}10.与空格有关的各项规定。10.1在所有两目、三目运算符的两边都必须有空格。在单目运算符两端不必空格。但在‘->’、‘::’、‘.’、‘[’、‘]’等运算符前后,及‘&’(取地址)、‘*’(取值)等运算符之后不得有空格。例:正确:int n= 0, nTemp;for(int i= nMinLine; i<= nMaxLine; i++)不得写做:int n=0, nTemp;for( int i=nMinLine; i<=nMaxLine; i++)10.2 for、while、if等关键词之后应有1个空格,再接‘(’,之后无空格;在结尾的‘)’前不得有空格。例:正确:if(-2== n)不得写做:if(-2== n)或if(-2== n)等等。10.3调用函数、宏时,‘(’、‘)’前后不得有空格。例:正确:printf("%d\n", nIndex);不得写做:printf("%d\n", nIndex);printf("%d\n", nIndex);等等。10.4类型强制转换时,‘(’‘)’前后不得有空格例:可写做:(KSFile*)pFile;也可写做:(KSFile*)pFile不得写做:( KSFile*)pFile( KSFile*) pFile11.与缩进有关的各项规定11.1缩进以 Tab为单位。1个 Tab为 4个空格11.2下列情况,代码缩进一个 Tab:1.函数体相对函数名及'{'、'}'。例:int Power(int x){return(x* x);}2. if、else、for、while、do等之后的代码。3.一行之内写不下,折行之后的代码,应在合理的位置进行折行。若有+-*/等运算符,则运算符应在上一行末尾,而不应在下一行的行首。11.3下列情况,不必缩进:switch之后的 case、default。例:switch(nID){case ID_PLAY:......break;case ID_STOP:......break;default:......break;12.对于涉及到系统的功能调用,要求使用系统提供的宏,不得直接使用具体的数值。例: char szSystemPath[MAX_PATH]={0};正确char szSystemPath[260]={0};错误13.关于函数编写的规定13.1除了非常简单的函数或者没有必要,函数需要有返回值,并且推荐返回值的类型为int,成功时为 true,失败时为false。不推荐直接使用1和0来表示。13.2在函数内部变量定义全部放在函数的开始处,不能在代码中间出现变量定义。变量定义需要初始化值,一般是0、false、NULL等。13.3程序员自行编写的函数不推荐使用DWORD等指明字节长度的变量类型,推荐使用unsigned long等变量类型。对于ULONG等vc系统定义的变量类型,推荐使用unsigned long来代替。如果调用系统API,在MSDN中已经指明了是DWORD等类型,则可以使用。13.4推荐使用int nResult作为函数自身的返回值变量,int nRetCode、BOOL bRetCode作为调用其他函数的返回值变量。13.5推荐使用goto语句来统一函数出口,goto语句一般只能跳转到一个函数出口,最多只能有两个,出口标识必须命名为Exit0和Exit1。在出口处必须显式检查曾经申请过的系统资源(如内存),并且进行释放。13.6如果编写DLL,除非特殊情况,导出函数的调用类型必须是__stdcall,便于多模块协同工作。附录:1.函数编写示范///////////////////////////////////////////////////////////////////////// Remarks:// Get file version information//// Parameters:// [in] const char cszPathName: Input file path name// [out] PVERSION_INFO*pVersionInfo: File version information//// Return values:// int: Non-zero means success, zero means failure///////////////////////////////////////////////////////////////////////int GetFileVersion(const char cszPathName, PVERSION_INFO*pVersionInfo){int nResult= false;int nRetCode= false;char szSystemPath[MAX_PATH]={0};nRetCode= IsFileExist(cszPathname);if(!nRetCode)goto Exit0;//Others code herenResult= true;Exit0:return nResult;}以前你的习惯可能是我定义一个函数,通过传递参数去实现这个函数的功能。面向对象编程要体现三个特点“封装、继承、多态”;比如你写一个飞这个函数,你需要在这里传递参数飞机。换个角度,你定义一个类是飞机,那这个飞机在封装的过程就有飞。降落等这功能(函数)。你想要用飞这个功能(函数)的时候,你只需调用飞机这个类“飞”这个成员函数。
求助代码。java编程
/*完全按照你的要求写的,可以的给采纳。有什么问题可以继续问我。*/
packageTest;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.text.NumberFormat;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;
/**
*文件保存格式为
*学号,姓名,班级,java成绩
*学号,姓名,班级,java成绩
*学号,姓名,班级,java成绩
*学号,姓名,班级,java成绩
*学号,姓名,班级,java成绩
*总分,平均分
*@authorAdministrator
*
*/
publicclassZhiDao{
publicstaticvoidmain(String[]args){
Filefile=newFile("javascore.text");
List<String[]>infos=null;
if(file.exists()){
System.out.println("已有信息:");
infos=getInfos(file);
System.out.println(printInfos(infos));
System.exit(0);
}else{
try{
file.createNewFile();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
//e.printStackTrace();
System.out.println("无法创建文件"+e.getMessage());
System.exit(1);
}
}
infos=newArrayList<String[]>();
Scannerscan=newScanner(System.in);
Stringinfo=null;
String[]strs=null;
intcount=0;
NumberFormatnf=NumberFormat.getNumberInstance();
nf.setMinimumFractionDigits(2);
nf.setMaximumFractionDigits(2);
floattotalScore=0;
while(count<5){
System.out.println("请输入第"+(count+1)+"名学生的基本信息[分别为学号、姓名、班级、java成绩,以英文逗号分隔]:");
info=scan.next().trim();
//判断成绩合法性
strs=info.split(",");
if(strs.length!=4){
System.out.println("输入信息不正确,请重新输入!");
continue;
}
try{
if(Float.valueOf(strs[3])>100){
System.out.println("成绩不能超过100分!");
continue;
}
}catch(NumberFormatExceptione){
//TODO:handleexception
System.out.println("成绩输入有误!"+e.getMessage());
continue;
}
totalScore+=Float.valueOf(strs[3]);
infos.add(strs);
count++;
}
infos.add(newString[]{nf.format(totalScore),nf.format(totalScore/5)});
System.out.println(printInfos(infos));
saveInfos(infos);
System.out.println("保存完成!");
}
publicstaticStringprintInfos(List<String[]>infos){
Stringstr="";
for(String[]ss:infos){
if(ss.length==2){
str+="总分:"+ss[0]+"
平均分:"+ss[1]+"
";
continue;
}
str+="****************************
"+"学号:"+ss[0]+"
"
+"姓名:"+ss[1]+"
"
+"班级:"+ss[2]+"
"
+"java成绩:"+ss[3]+"
";
}
returnstr;
}
publicstaticvoidsaveInfos(List<String[]>infos){
FileWriterwriter=null;
BufferedWriterbuffWriter=null;
try{
writer=newFileWriter(newFile("javascore.text"));
buffWriter=newBufferedWriter(writer);
Stringstr=null;
for(String[]ss:infos){
str=ss[0]+","+ss[1];
if(ss.length>2){
str+=","+ss[2]+","+ss[3];
}
buffWriter.write(str);
buffWriter.newLine();
}
buffWriter.flush();
}catch(Exceptione){
//TODO:handleexception
System.out.println("保存信息到文件出错:"+e.getMessage());
System.exit(1);
}finally{
if(writer!=null){
try{
writer.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(buffWriter!=null){
try{
buffWriter.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
publicstaticList<String[]>getInfos(Filef){
FileReaderreader=null;
BufferedReaderbuffReader=null;
List<String[]>infos=newArrayList<String[]>();
try{
reader=newFileReader(f);
buffReader=newBufferedReader(reader);
Stringstr=null;
while((str=buffReader.readLine())!=null){
infos.add(str.split(","));
}
}catch(Exceptione){
System.out.println("从文件中读取信息出错..."+e.getMessage());
System.exit(1);
//e.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(buffReader!=null){
try{
buffReader.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
returninfos;
}
}
求JAVA编程代码
楼上各位大牛们来点专业精神好不?
网上搜索一下完全数,
看有几个?
int型的数能放下几个?
long还差不多,
也没啥用,
直接把结果放一数组里,
根据上下限取结果就行了,
浪费那多时间干什么?
第二题先找个n吧,
只要它的阶乘结果在10的9次方数量级上,
基本上就符合题目精度了
OK,关于java编程代码格式和JAVA代码格式的内容到此结束了,希望对大家有所帮助。