书写优良代码每个程序员的必备素质,优良代码应该具有如下的特点:
1,性能好:每个接口都应该记入总的调用时间,以此来衡量一个接口的性能,经过持续的优化,也达到最优的时间!
2,易于扩展:设计伊始,就应该对可扩展性提供支持,这就需要我们了解开发的六大原则,还有设计模式等等让我们的代码变得更加容易扩展!
3,可读性高:对重复代码进行封装,过长的方法是绝对禁止的,通常一个方法中不应该超过100行代码,对主要的功能提供必要的注释,方法需要满足单一职责,将集合,时间处理等等抽象为工具类,提供复用!
4,见名知意:整个项目中的类,方法,变量都应该见名知意,避免classA,intn等取名方式!
5,异常处理:使用卫语句先判断,对不符合接口的参数直接返回,以免发生异常!如果有其他异常,对异常进行捕获处理,异常打印!
6,单元测试:良好的代码一定要配套单元测试,这样才能及时发现功能问题,也能为别人及时调试代码!
7,接口文档:设计之前先写接口文档,后使用swagger实现页面化的接口文档,便于接口阅读,同时支持页面调用测试!
总之,千万别写那种过上几个月,自己都不认识的代码。。
一直在分享软件开发相关东西,查看我之前的文章,你必然会学到东西!
JAVA程序计算素数设计JAVA application程序,计算出20000000~300000000之间所有的素数,并将找到的素数写入primefile.dat文件,
以下是一个使用Java语言编写的程序,可以计算出20000000~300000000之间所有的素数,并将找到的素数写入primefile.dat文件:
javaCopy code
import java.io.FileOutputStreamimport java.io.IOExceptionpublic class PrimeNumberCalculator { public static void main(String[] args) { int start = 20000000int end = 300000000String filename = "primefile.dat"try (FileOutputStream fileOutputStream = new FileOutputStream(filename)) { for (int i = starti <= endi++) { if (isPrime(i)) { fileOutputStream.write(String.valueOf(i).getBytes())fileOutputStream.write(System.lineSeparator().getBytes())} } } catch (IOException e) { e.printStackTrace()} } private static boolean isPrime(int n) { if (n <= 1) { return false} for (int i = 2i <= Math.sqrt(n)i++) { if (n % i == 0) { return false} } return true} }
该程序首先定义了起始数字和终止数字,以及文件名。接下来,在main方法中,程序使用for循环迭代从start到end之间的每个数字。对于每个数字,程序调用isPrime方法来判断它是否为素数。如果是素数,程序将该数字写入文件中,每个数字占一行。
isPrime方法使用了一个简单的算法来判断一个数字是否为素数:如果数字小于或等于1,那么它不是素数。否则,程序从2开始,一直到该数字的平方根之间的每个数字进行除法运算。如果该数字能被任何一个这些数字整除,那么它不是素数。
请注意,在此程序中,我们使用了Java 7引入的"try-with-resources"语句来自动关闭文件输出流。这样可以确保即使在发生异常的情况下,文件输出流也会被正确关闭,以避免文件被损坏。
实现代码如下:
Student类:
public class Student {
private String name
private String sex
private int age
private double chinese
private double math
private double english
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public String getSex() {
return sex
}
public void setSex(String sex) {
this.sex = sex
}
public int getAge() {
return age
}
public void setAge(int age) {
this.age = age
}
public double getChinese() {
return chinese
}
public void setChinese(double chinese) {
this.chinese = chinese
}
public double getMath() {
return math
}
public void setMath(double math) {
this.math = math
}
public double getEnglish() {
return english
}
public void setEnglish(double english) {
this.english = english
}
}
-----------------------------------------------------------------
StudentTest类:(测试类)
import java.util.Scanner
public class StudentTest {
public static void main(String[] args) {
Student student = new Student()
Scanner sc = new Scanner(System.in)
System.out.println("请输入姓名:")
student.setName(sc.next())
System.out.println("请输入性别:")
student.setSex(sc.next())
System.out.println("请输入年龄:")
student.setAge(sc.nextInt())
System.out.println("请输入语文成绩、数学成绩、英语成绩:")
student.setChinese(sc.nextDouble())
student.setMath(sc.nextDouble())
student.setEnglish(sc.nextDouble())
Double count = student.getChinese()+ student.getMath()+student.getEnglish()
System.out.println("姓名:"+student.getName()+" 性别:"+student.getSex()+" 年龄:"+student.getAge())
System.out.println("总分:"+count+" 平均分:"+count/3)
}
}
运行结果为:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)