实验八Java综合实验及练习文档格式.docx
《实验八Java综合实验及练习文档格式.docx》由会员分享,可在线阅读,更多相关《实验八Java综合实验及练习文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
j<
=i;
j++)
System.out.printf("
%d"
j);
for(intj=i-1;
j>
0;
j--)
System.out.println();
}
for(inti=4;
i>
i--){
}
}
2.给出年、月、日,计算该日是该年的第几天?
packageex8_2;
importjava.util.Scanner;
publicclassDateFun{
publicstaticbooleanYearDemo(intyear){
booleanflage=true;
if((year%4==0&
&
year%100!
=0)||year%400==0)
flage=true;
elseflage=false;
returnflage;
Scannerscan=newScanner(System.in);
System.out.println("
请输入年月日"
);
intsum=0;
intyear;
intmonth;
intday;
year=scan.nextInt();
month=scan.nextInt();
day=scan.nextInt();
if(YearDemo(year)){
int[]days={31,29,31,30,31,30,31,31,30,31,30,31};
for(inti=1;
month;
i++)
sum+=days[i-1];
sum+=day;
System.out.println("
该日是当年的"
+sum+"
天"
else{
int[]days={31,28,31,30,31,30,31,31,30,31,30,31};
3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:
任何一个大于6的偶数可以分解为两个素数之和。
packageex8_3;
publicclassGede{
publicstaticbooleanDemo(inta){
booleanflage=true;
a;
intb=0;
i;
if(i%j==0)
flage=false;
if(flage)
for(intx=1;
x<
a-i;
x++)
if((a-i)%x==0)
b++;
if(b==0){
flage=true;
break;
}
publicstaticvoidmain(String[]args){
请输入一个大于6的偶数"
inta=scan.nextInt();
if(Demo(a))
哥德巴赫猜想成立"
elseSystem.out.println("
哥德巴赫猜想不成立"
4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。
评分规则:
分数为60~100分。
选手最后得分为:
去掉一个最高分和一个最低分后其余4个分数的平均值。
packageEx8_4;
importjava.util.*;
publicclasstest{
publicstaticint[][]initArr(){
int[][]a=newint[15][6];
for(inti=0;
15;
for(intj=0;
a[i][j]=(int)(Math.random()*41+60);
returna;
publicstaticfloataverage(int[]a){
floatsum=0;
floatavg=0;
intmax=0;
intmin=100;
intmaxrow=0;
intminrow=0;
a.length;
if(a[i]>
max)
max=a[i];
if(a[i]<
min)
min=a[i];
sum=sum+a[i];
sum=sum-max-min;
avg=sum/(a.length-2);
returnavg;
publicstaticvoidmain(String[]args){
int[][]a=initArr();
a.length;
a[i].length;
%-4d"
a[i][j]);
NO."
+(i+1)+"
'
s"
+"
scoreis"
+average(a[i]));
5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。
写一个程序测试这个类
packageEx8_5;
publicclassPosition{
privateintx,y;
publicPosition(){
publicPosition(intx,inty){
this.x=x;
this.y=y;
publicintgetX(){
returnx;
publicintgetY(){
returny;
publicvoidsetX(intx){
publicvoidsetY(inty){
publicdoubledistance(Positionp){
doubled=0.0;
d=Math.sqrt((this.x-p.x)*(this.x-p.x)+(this.y-p.y)*(this.y-p.y));
returnd;
publicclassTest{
Positionp1=newPosition(1,0);
Positionp2=newPosition(2,0);
doubled=p1.distance(p2);
System.out.println(d);
6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
packageEx8_6;
publicclassPoint{
protectedintx,y;
publicPoint(){
publicPoint(intx,inty){
publicclassCircleextendsPoint{
protectedintr;
publicCircle(){
publicCircle(intx,inty,intr){
super(x,y);
this.r=r;
publicvoidsetR(intr){
publicintgetR(){
returnr;
Circlec1=newCircle(2,3,4);
Circlec2=newCircle();
c2.setR(8);
c2.setX
(2);
c2.setY(4);
System.out.println(c1.x+"
"
+c1.y+"
+c1.r);
System.out.println(c2.x+"
+c2.y+"
+c2.r);
7、