1实验一基本程序设计(1)编写一个程序,读入一笔费用与酬金率,计算酬金和总钱数。例如,如果用户输入10作为费用,15%作为酬金率,计算结果显示酬金为¥1.5,总费用为¥11.5。publicclassExercise2_5{publicstaticvoidmain(String[]args){//Readsubtotaljava.util.Scannerinput=newjava.util.Scanner(System.in);System.out.print(Entersubtotal:);doublesubtotal=input.nextDouble();//ReadsubtotalSystem.out.print(Entergratuityrate:);doublerate=input.nextDouble();doublegratuity=subtotal*rate/100;doubletotal=subtotal+gratuity;System.out.println(Gratuityis+gratuity);System.out.println(Totalis+total);}}(2)(求ASCII码对应的字符)编写程序接受一个ASCII码(从0到128的整数),然后显示它所代表的字符。例如用户输入的是97,程序显示的是俄字符a。publicclassExercise2_8{publicstaticvoidmain(Stringargs[]){java.util.Scannerinput=newjava.util.Scanner(System.in);//EnteranASCIIcodeSystem.out.print(EnteranASCIIcode:);intcode=input.nextInt();//DisplayresultSystem.out.println(ThecharacterforASCIIcode+code+is+(char)code);}}(3)(计算一个三角形周长)编写程序,读取三角形的三条边,如果输入值合法就计算这个三角形的周长;否则,显示这些输入值不合法。如果任意两条边的和大于第三边,那么输入值都是合法的。publicclassExercise3_25{publicstaticvoidmain(String[]args){java.util.Scannerinput=newjava.util.Scanner(System.in);//Enterthreeedges2System.out.print(Enterthreeedges(lengthindouble):);doubleedge1=input.nextDouble();doubleedge2=input.nextDouble();doubleedge3=input.nextDouble();//Displayresultsbooleanvalid=(edge1+edge2edge3)&&(edge1+edge3edge2)&&(edge2+edge3edge1);if(valid){System.out.println(Theperimeterofthetriangleis+(edge1+edge2+edge3));}elseSystem.out.println(Inputisinvalid);}}(4)(解一元二次方程)求一元二次方程ax2+bx+c=0的两个根,b就有*b-4ac称作一元二次方程的判别式。如果它是正值,那么一元二次方程俄就有两个正根。如果它为0,方程就只有一个根。如果它是负值,方程无实根。编写程序,提示用户输入a、b和c的值,并且显示基于判别式的结果。如果判别式为正,显示两个根,如果判别式为0,显示一个根,如果判别式为负,显示方程无实根。(4)importjava.util.Scanner;publicclassExercise3_1{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print(Entera,b,c:);doublea=input.nextDouble();doubleb=input.nextDouble();doublec=input.nextDouble();doublediscriminant=b*b-4*a*c;if(discriminant0){System.out.println(Theequationhasnoroots);}elseif(discriminant==0){doubler1=-b/(2*a);System.out.println(Therootis+r1);}3else{//(discriminant0)doubler1=(-b+Math.pow(discriminant,0.5))/(2*a);doubler2=(-b-Math.pow(discriminant,0.5))/(2*a);System.out.println(Therootsare+r1+and+r2);}}}(5)(统计正数和负数的个数,然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值的总和及其平均值(不对0计数)。当输入为0时,表示程序结束。将平均值以浮点数显示。(5)importjava.util.Scanner;publicclassExercise4_1{publicstaticvoidmain(String[]args){intcountPositive=0,countNegative=0;intcount=0,total=0,num;Scannerinput=newScanner(System.in);System.out.print(Enteranintvalue,theprogramexitsiftheinputis0:);num=input.nextInt();while(num!=0){if(num0)countPositive++;elseif(num0)countNegative++;total+=num;count++;//Readthenextnumbernum=input.nextInt();}if(count==0)System.out.println(Youdidn'tenteranynumber);else{System.out.println(Thenumberofpositivesis+countPositive);System.out.println(Thenumberofnegativesis+countNegative);System.out.println(Thetotalis+total);System.out.println(Theaverageis+total*1.0/count);}}4}试验二方法(1)一个五角数被定义为n(3n-1)/2,其中n=1,2,…。所以,开始的几个数字就是1,5,12,22…,编写下面的方法返回一个五角数:publicstaticintgetPentagonaNumber(intn)编写一个测试程序显示前100个五角数,每行显示10个。提示:通过for循环语句打印前100个五角数。(1)//Exercise5_1.java:publicclassExercise5_1{publicstaticvoidmain(String[]args){for(inti=1;i=100;i++)if(i%10==0)System.out.println(getPentagonalNumber(i));elseSystem.out.printf(%10d,getPentagonalNumber(i));}publicstaticintgetPentagonalNumber(intn){returnn*(3*n-1)/2;}}(2)编写一个方法,计算一个整数各位数字之和:publicstaticintsumDigits(longn)例如:sumDigits(234)返回9(2+3+4)。提示:使用求余运算符%提取数字,用/去掉提取出来的数字。例如:使用234%10(=4)提取4。然后使用234/10(=23)从234中去掉4。使用一个循环来反复提取和去掉每位数字,直到所有的位数都提取完为止。编写程序提示用户输入一个整数,然后显示这个整数所有数字的和。Remainder(余数)(2)publicclassExercise5_2{publicstaticvoidmain(String[]args){java.util.Scannerinput=newjava.util.Scanner(System.in);System.out.print(Enteranumber:);intvalue=input.nextInt();System.out.println(Thesumofdigitsfor+value+is+sumDigits(value));}publicstaticintsumDigits(longn){inttemp=(int)Math.abs(n);intsum=0;5while(temp!=0){intremainder=temp%10;sum+=remainder;temp=temp/10;}returnsum;}}(3)(回文整数)编写下面两个方法://Returnthereversalofaninteger,i.e.reverse(456)returns654publicstaticintreverse(intnumber)//Returntrueifnumberispalindromepublicstaticbooleanispalindrome(intnumber)使用reverse方法实现ispalindrome。如果一个数字的反向倒置数和它的顺向数一样,这个数就称作回文数。编写一个测试程序,提示用户输入一个整数值,然后报告这个整数是否是回文数。(3)importjava.util.Scanner;publicclassExercise5_3{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print(Enterapostiveinteger:);intnumber=input.nextInt();if(isPalindrome(number))System.out.println(number+ispalindrome);elseSystem.out.println(number+isnotpalindrome);}publicstaticbooleanisPalindrome(intnumber){returnnumber==reverse(number);}publicstaticintreverse(intnumber){intresult=0;while(number!=0){intremainder=number%10;result=result*10+remainder;number=number/10;}returnresult;}}(4)创建一个名为MyTriangle的类,它包含如下两个方法:/**Returntrueifthesumofanytwosidesis6*greaterthanthethirdside.*/publicstaticbooleanisValid(doubleside1,doubleside2,doubleside3)/**Returnstheareaofthetriangle.*/publicstaticdoublearea(doublesi