大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.util.Scanner;
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了海港免费建站欢迎大家使用!
public class SanJiaoXing{
public static void main(String[]args){
double a,b,c;
do{
Scanner in=new Scanner(System.in);
System.out.println("输入第一个数");
a=in.nextDouble();
System.out.println("输入第2个数");
b=in.nextDouble();
System.out.println("输入第一个数");
c=in.nextDouble();
}while(SanJiaoXing.Is1to100(a, b, c));
if(a+bca+cbb+ca){
if(a==ba==cc==b){
System.out.print("等边三角形");
}else if(a==b||b==c||a==c){
System.out.print("等腰三角形");
}else{
System.out.print("普通三角形");
}
}else{
System.out.print("构不成三角形");
}
}
public static boolean Is1to100(double a,double b,double c){
boolean flag=false;
if(a1||b1||c1){
System.out.println("变长范围1-100");
flag=true;
}else if(a100||b100||c100){
System.out.println("边长范围1-100");
flag=true;
}
return flag;
}
}
第二个太烦就不写了,百度应该有的。。以下百度贴:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;
public class T {
public static int[] dates = new int[3];
public static void main(String[] args) throws Exception {
String[] input = { "input year :", "input month :", "input day :" };
Scanner sc = new Scanner(System.in);
for (int i = 0; i input.length; i++) {
dates[i] = input(input[i], sc, i);
}
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, dates[0]);
calendar.set(Calendar.MONTH, dates[1] - 1);
calendar.set(Calendar.DATE, dates[2] + 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(calendar.getTime()));
}
public static int input(String message, Scanner sc, int index) {
while (true) {
System.out.print(message);
String str = sc.nextLine();
try {
int result = Integer.parseInt(str);
if (index == 0 !(result = 1920 result = 2050)) {
System.out.println("1920≤year≤2050");
continue;
}
if (index == 1 !(result = 1 result = 12)) {
System.out.println("1≤month≤12");
continue;
}
if (index == 2) {
int end = endDay(dates[0], dates[1]);
if (!(result = 1 result = end)) {
System.out.println("1≤day≤" + end);
continue;
}
}
return result;
} catch (Exception e) {
System.out.println("input error!");
}
}
}
public static int endDay(int year, int month) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DATE, 0);
return c.get(Calendar.DATE);
}
}
测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一。
测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
测试用例编写准备
1
从配置管理员处申请软件配置:《需求规格说明书》和《设计说明书》;
2
根据需求规格说明书和设计说明书,详细理解用户的真正需求,并且对软件所实现的功能已经准确理解,然后着手制订测试用例。
测试用例制定的原则
1测试用例要包括欲测试的功能、应输入的数据和预期的输出结果。
2测试数据应该选用少量、高效的测试数据进行尽可能完备的测试。
用例覆盖
1正确性测试:输入用户实际数据以验证系统是满足需求规格说明书的要求;测试用 例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。
2容错性(健壮性)测试:程序能够接收正确数据输入并且产生正确(预期)的输出, 输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示 并进行相应处理。把自己想象成一名对产品操作一点也不懂的客户,在进行任意操作。
3完整(安全)性测试:对未经授权的人使用软件系统或数据的企图,系统能够控制的程度,程序的数据处理能够保持外部信息(数据库或文件)的完整。
4接口间测试:测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。
5压力测试:输入10条记录运行各个功能,输入30条记录运行,输入50条记录进行测试。
6性能:完成预定的功能,系统的运行时间(主要是针对数据库而言)。
7可理解(操作)性:理解和使用该系统的难易程度(界面友好性)。
8可移植性:在不同操作系统及硬件配置情况下的运行性。
测试方法
1边界值分析法:确定边界情况(刚好等于、稍小于和稍大于和刚刚大于等价类边界值),针对我们的系统在测试过程中主要输入一些合法数据/非法数据,主要在边界值附近选取。
2等价划分:将所有可能的输入数据(有效的和无效的)划分成若干个等价类。
3错误推测:主要是根据测试经验和直觉,参照以往的软件系统出现错误之处。
测试用例的填写
1一个软件系统或项目共用一套完整的测试用例,整个系统测试过程测试完毕,将实际测试结果填写到测试用例中,操作步骤应尽可能的详细,测试结论是指最终的测试结果(结论为:通过或不通过)。
java中Junit应用介绍:assertexp1;//exp1为boolean类型的值assertexp1:message;//message为如果exp1不是true的时候,要提示的错误消息断言一般作用:代码运行前写断言判断必须满足的条件;代码运行后判断必须符合的标准;确定代码运行过程中有无改变某些不应该变的东西2.junit中的Assert类提供了很多方法,替代断言,参照api:assertEquals、assertFalse、assertTrue、assertNotNull、assertNull、assertSame、fail3.注解@interface用来定义注解@Retention用来声明注解的保留策略,有CLASS(注解保存在class文件中)、RUNTIME(运行时可用)和SOURCE(仅在源代码中)这三种@Target用来声明注解可以被添加在哪些类型的元素上:注解、类、方法、方法参数、构造、字段、方法中的普通变量定义一个能在方法上使用的注解:@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public@interfaceKennethTest{}写一个测试类publicclassTest{@KennethTestpublicvoidtest1(){System.out.println("test1");}publicvoidtest2(){System.out.println("test2");}@KennethTestpublicvoidtest3(){System.out.println("test3");}}执行一个类中所有标记KennethTest的方法publicclassMain{publicstaticvoidmain(String[]args)throwsException{//反射ClassclassObj=Test.class;//获取Test的类对象Objectobj=classObj.newInstance();//调用无参数构造,新建一个Test的对象Method[]methods=classObj.getMethods();//获取Test类中所有public方法for(Methodmethod:methods){if(method.getAnnotation(KennethTest.class)!=null){//看这个方法是否有KennethTest注解method.invoke(obj);//如果这个方法有KennethTest注解,那么这个方法被调用执行}}}}4.junit中的注解@Test@Test(expected=IndexOutOfBoundsException.class)测试方法抛出这个异常就能通过测试@Test(timeout=10)测试方法不能超过10毫秒@Ignore忽略测试@Before每个测试方法之前执行@After每个测试方法之后执行@BeforeClass在加载类时执行@AfterClass在所有测试方法执行结束,如果有after的话,所有after也执行结束后执行5.通常写测试代码的规则:1)产品源代码和测试源代码要分开,包名类名一致例如org.ken.PersonDao对应测试代码可以为test.org.ken.PersonDaoTest2)一个有功能类要写至少一个测试类3)一个方法代表一个用例用例之间要保持独立(最好不要互相调用)