java实验题.docx

上传人:b****1 文档编号:23171539 上传时间:2023-05-15 格式:DOCX 页数:37 大小:25.38KB
下载 相关 举报
java实验题.docx_第1页
第1页 / 共37页
java实验题.docx_第2页
第2页 / 共37页
java实验题.docx_第3页
第3页 / 共37页
java实验题.docx_第4页
第4页 / 共37页
java实验题.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

java实验题.docx

《java实验题.docx》由会员分享,可在线阅读,更多相关《java实验题.docx(37页珍藏版)》请在冰豆网上搜索。

java实验题.docx

java实验题

实验一基本程序设计

(1)编写一个程序,读入一笔费用与酬金率,计算酬金和总钱数。

例如,如果用户输入10作为费用,15%作为酬金率,计算结果显示酬金为¥1.5,总费用为¥11.5。

publicclassExercise2_5{

publicstaticvoidmain(String[]args){

//Readsubtotal

java.util.Scannerinput=newjava.util.Scanner(System.in);

System.out.print("Entersubtotal:

");

doublesubtotal=input.nextDouble();

//Readsubtotal

System.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);

//EnteranASCIIcode

System.out.print("EnteranASCIIcode:

");

intcode=input.nextInt();

//Displayresult

System.out.println("ThecharacterforASCIIcode"+code+"is"+(char)code);

}

}

(3)(计算一个三角形周长)编写程序,读取三角形的三条边,如果输入值合法就计算这个三角形的周长;否则,显示这些输入值不合法。

如果任意两条边的和大于第三边,那么输入值都是合法的。

publicclassExercise3_25{

publicstaticvoidmain(String[]args){

java.util.Scannerinput=newjava.util.Scanner(System.in);

//Enterthreeedges

System.out.print(

"Enterthreeedges(lengthindouble):

");

doubleedge1=input.nextDouble();

doubleedge2=input.nextDouble();

doubleedge3=input.nextDouble();

//Displayresults

booleanvalid=(edge1+edge2>edge3)&&

(edge1+edge3>edge2)&&(edge2+edge3>edge1);

if(valid){

System.out.println("Theperimeterofthetriangleis"+

(edge1+edge2+edge3));

}

else

System.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(discriminant<0){

System.out.println("Theequationhasnoroots");

}

elseif(discriminant==0){

doubler1=-b/(2*a);

System.out.println("Therootis"+r1);

}

else{//(discriminant>0)

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(num>0)

countPositive++;

elseif(num<0)

countNegative++;

total+=num;

count++;

//Readthenextnumber

num=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);

}

}

}

试验二方法

(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));

else

System.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;

while(temp!

=0){

intremainder=temp%10;

sum+=remainder;

temp=temp/10;

}

returnsum;

}}

(3)(回文整数)编写下面两个方法:

//Returnthereversalofaninteger,i.e.reverse(456)returns654

publicstaticintreverse(intnumber)

//Returntrueifnumberispalindrome

publicstaticbooleanispalindrome(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");

else

System.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的类,它包含如下两个方法:

/**Returntrueifthesumofanytwosidesis

*greaterthanthethirdside.*/

publicstaticbooleanisValid(doubleside1,doubleside2,doubleside3)

/**Returnstheareaofthetriangle.*/

publicstaticdoublearea(doubleside1,doubleside2,doubleside3)

编写一个测试程序,读入三角形三边的值,若输入有效,则计算面积;否则显示输入无效.

(4)

publicclassExercise5_19{

/**Mainmethod*/

publicstaticvoidmain(String[]args){

java.util.Scannerinput=newjava.util.Scanner(System.in);

System.out.print(

"Enterthefirstedgelength(double):

");

doubleedge1=input.nextDouble();

System.out.print(

"Enterthesecondedgelength(double):

");

doubleedge2=input.nextDouble();

System.out.print(

"Enterthethirdedgelength(double):

");

doubleedge3=input.nextDouble();

if(MyTriangle.isValid(edge1,edge2,edge3)){

System.out.println("Theareofthetriangleis"+

MyTriangle.area(edge1,edge2,edge3));

}

else

System.out.println("Inputisinvalid");

}

}

classMyTriangle{

publicstaticbooleanisValid(doubleside1,doubleside2,doubleside3){

return(side1+side2>side3)&&

(side1+side3>side2)&&(side2+side3>side1);

}

publicstaticdoublearea(doubleside1,doubleside2,doubleside3){

doubles=(side1+side2+side3)/2;

returnMath.sqrt(s*(s-side1)*(s-side2)*(s-side3));

}

}

试验三数组

(1)编写程序,读取10个整数,然后按照和读入顺序相反的顺序将它们显示出来。

提示:

int[]num=newint[10]。

(1)

publicclassExercise6_2{

publicstaticvoidmain(String[]args){

java.util.Scannerinput=newjava.util.Scanner(System.in);

int[]num=newint[10];

for(inti=0;i<10;i++){

//Readanumber

System.out.print("Readanumber:

");

num[i]=input.nextInt();

}

//Displaythearray

for(inti=9;i>=0;i--){

System.out.println(num[i]);

}

}

}

(2)(指定等级)编写一个程序,读入学生成绩,获取最高分best,然后根据下面的规则赋等级值:

如果分数>=best–10,等级为A

如果分数>=best–20,等级为B

如果分数>=best–30,等级为C

如果分数>=best–40,等级为D

其他情况下,等级为F

程序提示用户输入学生总数,然后提示用户输入所有的分数,最后显示等级得出结论。

(2)

importjava.util.Scanner;

publicclassExercise6_1{

/**Mainmethod*/

publicstaticvoidmain(String[]args){

//CreateaScanner

Scannerinput=newScanner(System.in);

//Getnumberofstudents

System.out.print("Enternumberofstudents:

");

intnumberOfStudents=input.nextInt();

int[]scores=newint[numberOfStudents];//Arrayscores

intbest=0;//Thebestscore

chargrade;//Thegrade

//Readscoresandfindthebestscore

System.out.print("Enter"+numberOfStudents+"scores:

");

for(inti=0;i

scores[i]=input.nextInt();

if(scores[i]>best)

best=scores[i];

}

//Declareandinitializeoutputstring

Stringoutput="";

//Assignanddisplaygrades

for(inti=0;i

if(scores[i]>=best-10)

grade='A';

elseif(scores[i]>=best-20)

grade='B';

elseif(scores[i]>=best-30)

grade='C';

elseif(scores[i]>=best-40)

grade='D';

else

grade='F';

output+="Student"+i+"scoreis"+

scores[i]+"andgradeis"+grade+"\n";

}

//Displaytheresult

System.out.println(output);

}

}

(3)(计算数字的出现次数)编写程序,读取在1到100之间的整数,然后计算每个数出现的次数。

假定输入是以0结束的。

(3)publicclassExercise6_3{

publicstaticvoidmain(String[]args){

java.util.Scannerinput=newjava.util.Scanner(System.in);

int[]counts=newint[100];

System.out.print("Entertheintegersbetween1and100:

");

//Readallnumbers

intnumber=input.nextInt();//numberreadfromafile

while(number!

=0){

counts[number-1]++;

number=input.nextInt();

}

//Displayresult

for(inti=1;i<100;i++){

if(counts[i]>0)

System.out.println((i+1)+"occurs"+counts[i]

+((counts[i]==1)?

"time":

"times"));

}

}

}

(4)编写一个方法,使用下面的方法头求出一个整数数组中的最小元素:

publicstaticdoublemin(double[]array)

编写测试程序,提示用户输入10个数字,调用这个方法,返回最小元素值。

(4)publicclassExercise6_9{

//Mainmethod

publicstaticvoidmain(String[]args){

double[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1