java实验考试大纲101.docx
《java实验考试大纲101.docx》由会员分享,可在线阅读,更多相关《java实验考试大纲101.docx(13页珍藏版)》请在冰豆网上搜索。
![java实验考试大纲101.docx](https://file1.bdocx.com/fileroot1/2022-12/7/4009b415-f6d3-46bd-acd0-4d6155671b4a/4009b415-f6d3-46bd-acd0-4d6155671b4a1.gif)
java实验考试大纲101
1.任意从键盘输入一个0到9999之间的数,判断输入的数是几位数。
importjavax.swing.JOptionPane;
publicclassCount
{
publicstaticvoidmain(Stringargs[])
{
loopNumber();
}
staticvoidloopNumber(){
intnumber=0,d4,d3,d2,d1;
Stringstr=JOptionPane.showInputDialog("输入一个0至9999之间的数");
number=Integer.parseInt(str);
if(number>=0&&number<=9999)//判断number在0至9999之间的条件
{
d4=number%10000/1000;//计算number的千位d4
d3=number%10000%1000/100;//计算number的百位d3
d2=number%100/10;
d1=number%10;
if(d4>0)//判断number是4位数的条件
{
System.out.println(number+"是4位数");
}
elseif(d4==0&&d3>0)//判断number是3位数的条件
{
System.out.println(number+"是3位数");
}
elseif(d2!
=0)
{
System.out.println(number+"是2位数");
}
elseif(d1!
=0)
{
System.out.println(number+"是1位数");
}
elseif(d4==0&&d3==0&&d2==0&&d1==0)
{
System.out.println(number+"是1位数");
}
}
else
{
System.out.printf("\n%d不在0至9999之间",number);
}
}
}
2.铁路运货的运费与路程远近及货物的重量有关,设有如下的单位运费:
不足100千米,每吨每千米为1.0元
100千米以上,不足300千米,每吨每千米为0.9元
300千米以上,不足500千米,每吨每千米为0.8元
500千米以上,不足1000千米,每吨每千米为0.7元
1000千米以上,每吨每千米为0.6元
编程:
对输入的货物重量和路程,计算相应的运费。
importjava.util.Scanner;
publicclassexpenditure
{
publicdoublegetExpenditure(doublekilometer,doubleton)
{
doubleex=0;
if(kilometer<100)
{
ex=ton*kilometer;
}
elseif(kilometer>=100&&kilometer<300)
{
ex=ton*kilometer*0.9;
}
elseif(kilometer>=300&&kilometer<500)
{
ex=ton*kilometer*0.8;
}
elseif(kilometer>=500&&kilometer<1000)
{
ex=ton*kilometer*0.7;
}
elseif(kilometer>=1000)
{
ex=ton*kilometer*0.6;
}
returnex;
}
publicstaticvoidmain(Stringargs[])
{doubledistance,weight;
Strings1=null;
expendituree=newexpenditure();
System.out.println("请输入路程:
");
Scannerscan2=newScanner(System.in);
s1=scan2.nextLine();
distance=Double.parseDouble(s1);
Strings2=null;
System.out.println("请输入重量:
");
Scannert=newScanner(System.in);
s2=scan2.nextLine();
weight=Double.parseDouble(s2);
System.out.println(e.getExpenditure(distance,weight));
}
}
运行结果:
3.}根据下面的要求实现圆类Circle。
①圆类Circle的成员变量:
radius表示圆的半径。
②圆类Circle的方法成员:
Circle():
构造方法,将半径置0。
Circle(doubler):
构造方法,创建Circle对象时将半径初始化为r。
doublegetRadius():
获得圆的半径值。
doublegetPerimeter():
获得圆的周长。
voiddisp():
将圆的半径、圆的周长和圆的面积输出到屏幕。
importjava.util.Scanner;
publicclassCircle
{
privatedoubleradius;
publicCircle()
{
this.radius=0;
}
publicCircle(doubler)
{
this.radius=r;
}
publicdoublegetRadius()
{
returnthis.radius;
}
publicdoublegetPerimeter()
{
return2*Math.PI*this.radius;
}
publicdoublegetArea()
{
returnMath.PI*this.radius*this.radius;
}
publicvoiddisp(){
System.out.println("半径:
"+getRadius());
System.out.println("周长:
"+getPerimeter());
System.out.println("面积:
"+getArea());
}
publicstaticvoidmain(Stringargs[])
{
Strings1=null;
Circlee=newCircle();
System.out.println("请输入半径:
");
Scannerscan=newScanner(System.in);
s1=scan.nextLine();
e.radius=Double.parseDouble(s1);
e.disp();
}
}
运行结果:
4、列出两个数m,n之间的所有素数
importjava.applet.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassPextendsAppletimplementsActionListener
{
Labelresult,name;
TextFieldin1,in2;
Buttonbtn;
inta=0,b=0,m,n,p;
TextAreaanser=newTextArea(5,30);
publicvoidinit()
{
result=newLabel("请输入两个整形数据:
");
name=newLabel("姓名:
阿力木江学号:
2010101576");
in1=newTextField(5);
in2=newTextField(5);
btn=newButton("计算");
add(name);
add(result);
add(in1);
add(in2);
add(btn);
add(anser);
btn.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente)
{
intcount=0;
a=Integer.parseInt(in1.getText());
b=Integer.parseInt(in2.getText());
if(a>b)
{m=a;a=b;b=m;}
for(n=a;n<=b;n++)
{
for(p=2;p<=n;p++)
{
if(n%p==0)
{break;}
}
if(n==p)
{
anser.append(""+n+"");
count+=1;
if(count%10==0)
anser.append("\n");
}
}
}
}
运行结果:
5.使用java.util.Arrays,将Java所有关键字存在一个字符串数组中,判断一个字符串是否是Java关键字。
Java所有关键字:
"abstract","boolean","break","byte","case","catch","char","class",
"continue","default","do","double","else","extends","false","final","finally","float","for","if",
"implements","import","instanceof","int","interface","long","native","new","null","package",
"private","protected","public","return","short","static","super","switch","synchronized","this",
"throw","throws","transient","true","try","void","volatile","while"
importjava.util.Arrays;
importjava.util.List;
publicclassaa{
publicstaticvoidmain(String[]args){
String[]s={"abstract","boolean","break","byte","case","catch","char","class",
"continue","default","do","double","else","extends","false","final","finally","float","for","if",
"implements","import","instanceof","int","interface","long","native","new","null","package",
"private","protected","public","return","short","static","super","switch","synchronized","this",
"throw","throws","transient","true","try","void","volatile","while"
};
Listl=Arrays.asList(s);
System.out.println("被查字符串:
throws");
if(l.contains("throws")){
System.out.println("是java关键字");
}
else{
System.out.println("不存在");
}
System.out.println("我的学号:
2010101576");
}
}
6.找出程序中错误,编译出正确结果;
求二维数组的鞍点。
鞍点是行中最大,列中最小。
代码:
publicclassDort
{
publicstaticvoidmain(Stringargs[])
{
for(inti=0;ifor(intj=0;jSystem.out.println();
}
booleanfind=false;
introw=0;
intmax=0;
while(!
find&&row{
max=0;
for(intj=0;jif(mat[row][j]>mat[row][max])
max=j;
booleanyes=true;
while(yes&&j{
if(j!
=row&&mat[j][max]yes=false;
j++;
}
if(yes)
find=true;
else
row++;
}
if(find)
System.out.println("Thedort:
"+mat[row][max]);
else
System.out.println("Thedort:
null");
}
}
publicclassDort
{
publicstaticvoidmain(Stringargs[])
{
int[][]mat={{1,2,3},{4,5,6},{7,8,9}};
for(inti=0;ifor(intj=0;jSystem.out.print(""+mat[i][j]);
System.out.println();
}
booleanfind=false;
introw=0;
intmax=0;
while(!
find&&row{
max=0;
for(intj=0;jif(mat[row][j]>mat[row][max])
max=j;
booleanyes=true;
intj=0;
while(yes&&j{
if(j!
=row&&mat[j][max]yes=false;
j++;
}
if(yes)
find=true;
else
row++;
}
if(find)
System.out.println("Thedort:
"+mat[row][max]);
else
System.out.println("Thedort:
null");
}
}
正确程序运行结果如下:
123
456
789
Thedort:
3
7.编写JavaApplet,设计用户登录窗口。
importjava.awt.*;
importjavax.swing.*;
publicclassLoginJFrameextendsJFrame
{
publicLoginJFrame()
{
super("阿力木江");
this.setSize(400,100);
this.setBackground(java.awt.Color.lightGray);
this.setLocation(300,240);this.setDefaultCloseOperation(EXIT_ON_CLOSE);
Containerjframe_content=this.getContentPane();
this.setLayout(newjava.awt.FlowLayout());//框架流布局
this.add(newLabel("userid"));//创建标签,添加到框架上
this.add(newTextField("2010101576",20));//创建文本行
jframe_content.add(newJLabel("password"));
this.add(newTextField(10));//创建10列的口令文本行
this.add(newButton("OK"));//创建按钮
this.add(newButton("Cancel"));
this.setVisible(true);//显示框架
}
publicstaticvoidmain(Stringarg[])
{
newLoginJFrame();
}
}
演示结果:
8.计算Fibonacci序列(Fibonacci序列是元素等于前两项之和)。
publicclassFibonacci
{
publicstaticvoidmain(String[]args)
{
shorti=0,j=1;
do{
System.out.print(""+i+""+j);
i=(short)(i+j);
j=(short)(i+j);
}while(i>0);
System.out.println();
System.out.print("姓名:
阿力木江学号:
2010101576");
}
}