1 Java源程序编译后会生成一种扩展名为(class)的字节码文件。
2 Java小程序不能单独运行,必须将编译后的文件嵌入到网页中,将其嵌
入时使用的标记是(applet)标记。
3若希望所有的控件在界面上从左至右排列,应采用(FlowLayout)布局,
设置布局调用的方法是(setLayout)。
4若类中定义的成员变量只能被同一个包中的类访问,则该变量的访问修饰符为(protected)。
5 Java通过(接口)实现多重继承。
6 如果有一个类A是B的子类,且能够被不同包中的类所使用,请写出
该类的声明头:(public class A extends B)。
7 InputStream类以(字节)为信息的基本单位。
8 自定义异常类必须是(Exception)类及子类,主动抛出异常的关
键字是(throw)。
9 java中下拉列表框对象的事件处理中,用addItemListener()方法注册监听对象,监听类实现的接口是(ItemListener)。
三、程序填空题
1 下面程序中定义了一个Car类,要求创建一个该类的对象demoCar,该对象调
用set_number方法设置车号属性为3388,调用该对象的show_number方法则
输出车号。将程序补充完整。
class Car
{ int car_number;
void set_number(int car_number)
{ thiscar_number = car_number; }
void show_number()
{ Systemoutprintln(“My car No is :”+car_number); }
}
class CarDemo
{ public static void main(String args[])
{ Car car = new Car();
demoCarset_number(3388);
carshow_number(); }}
2以下是一个applet的完整程序,它使用“宋体”字体,在applet窗口中显
示背景色为黑色,前景色为绿色的字符串“您好!”。
import javaawt;
import javaappletApplet;
public class DrawStringDemo extends Applet {
private Font afont= new Font(“宋体”,FontBOLD,18);
public void init(){
(Colorblack);
}
public void paint(Graphics g){
gsetColor(ColorGREEN);
(afont);
(“您好!”,10,40);
}
}
3程序改错。
①public static void main(String[] args) {
②boolean isValid = false;
③int scores[] = {65,70,69,98,86};
四、分析程序结果题
结果:
a=1
b=1
c=1
a=2
b=2
c=1
a=3
b=1
c=1
a=4
b=2
c=1
应该不会有问题,有问题PM我把。
完整代码如下:
public class Complex {
private float real; //实部
private float imagin;//虚部
public Complex(){//无参默认为(0, 2)
thisreal = 0F;
thisimagin = 2F;
}
public String toString(){//以a+bi的形式输出的复数
return real + "+" + imagin + "i";
}
// a+ bi + (c+ di) = (a+c) + (b+d)i
public static Complex add(Complex c1, Complex c2){//两个复数相加
Complex complex = new Complex();
complexsetReal(c1getReal() + c2getReal());
complexsetImagin(c1getImagin() + c2getImagin());
return complex;
}
// a+ bi == c + di----> a==c, b==d --> it's true
public static boolean equal(Complex c1, Complex c2){//比较两个复数是否相等
return c1getReal() == c2getReal() && c1getImagin() == c2getImagin();
}
//a + bi + f = (a+f) + bi
public static Complex addFloat(Complex c1, float fValue){//复数加一浮点数
c1setReal(c1getReal() + fValue);
return c1;
}
public float getImagin() {
return imagin;
}
public void setImagin(float imagin) {
thisimagin = imagin;
}
public float getReal() {
return real;
}
public void setReal(float real) {
thisreal = real;
}
}
你自己啥也不参考,自己写个学生信息管理系统。就差不多了。然后再写个生产者和消费者的关系,(线程)。
神啊 ,,原来是你问的啊。。呵呵。我去找找。
简答、论述、程序设计
1、请问 ”2” 、’2’、2之间有什么不同?并回答下面程序的输出结果是什么 (提示:‘2’的ASCII码值是50 )(8分)
class test
{
public static void main(String[] args)
{
int a=2;
int b='2';
Systemoutprintln (a+a);
Systemoutprintln (a+b);
}
}
2、你认为java、C、C++他们之间有没有联系和区别?和C、C++相比,java有哪些优点?(10分)
3、下面两段代码具有多处错误,请找出你认为错误的地方,作上标记,并说明为何出错。如果你认为该行没有错误,请打上√ (12分)
i)public int search (int [10] number) 1、 ______________________
{
number = new int[10]; 2、 ______________________
for (int i=0;i<numberlength;i++) 3、_______________________
{
number[i]=number[i-1]+number[i+1]; 4、_______________________
return number; 5、_______________________
}
}
ii)
class MyclassOne
{
public final int A=365;
public int b;
private float c;
private void myMethodOne(int a)
{
b=a;
}
public float myMethodTwo()
{
return 36;
}
}
class MyClassMain
{
public static void main(String[] args)
{
MyClassOne w1=new MyClassOne();
w1A=12; 6、______________________
w1b=12; 7、_______________________
w1c=12; 8、_______________________
w1myMethodOne(12); 9、_______________________
w1myMethodOne(); 10、_____________________
Systemoutprintln(w1myMethodTwo(12)); 11、___________________
w1c=w1myMethodTwo(); 12、____________________
}
}
请简要说明下面程序的功能
1) public class Sum ( 5分 )
{ public static void main( String args[ ])
{ double sum = 00 ;
for ( int i = 1 ; i <= 100 ; i + + )
sum += 10/(double) i ;
Systemoutprintln( "sum="+sum );
}
}
程序设计:(10分)
编写一个java程序。要求该程序能够具有以下功能:
定义一个坐标类coord。坐标类coord必须满足如下要求:
a)coord类含有两部分数据:横坐标x和纵坐标y。x和y的类型都是int类型。
b)coord类的方法有:
coord( ) : 构造函数,将横坐标和纵坐标的值都赋值为0
coord( int x , int y ) : 构造函数,形参 x 为横坐标的初值,y为纵坐标的初值。
coord coordAdd(int x, int y) : 将当前坐标对象与形参的值相加,所得的结果仍是一个坐标,返回给此方法的调用者。
(提示:可以将两个坐标相加定义为横坐标和横坐标相加,纵坐标和纵坐标相加。例如(1,2)+(3,4)=((1+3),(2+4))=(4,6))
程序设计:(10分)
请编写一个java程序,利用该程序计算并输出 1+2+3+……+100的值
答案
1、请问 ”2” 、’2’、2之间有什么不同?并回答下面程序的输出结果是什么 (提示:‘2’的ASCII码值是50 )(8分)
答:"2"是字符串,'2'算字符。2是数字。
class test
{
public static void main(String[] args)
{
int a=2;
int b='2';
Systemoutprintln (a+a);
Systemoutprintln (a+b);
}
} 输出结果为:4
52
2、你认为java、C、C++他们之间有没有联系和区别?和C、C++相比,java有哪些优点?(10分)
答:java是以c及c++为基础的。许多地方沿用了它们的思想。但最主要的,java是完全面向对象的编程,而c是面向过程,c+则不完全是面向对象。java相对说来,编程更方便,安全,结构,模块化强,易于移植,跨平台性好等。
3、下面两段代码具有多处错误,请找出你认为错误的地方,作上标记,并说明为何出错。如果你认为该行没有错误,请打上√ (12分)
i)public int search (int 错[10] number) 1、 引用时只能是类型不能带值{
number错 = new int[10]; 2、 数组没有下标
for (int i=0;i<numberlength;i++) 3、对
{
number[i]=number[i-1]+number[i+1]错; 4、数组在i+1在i=numberlength-1是超界
return number; 5、对
}
}
ii)
class MyclassOne
{
public final int A=365;
public int b;
private float c;
private void myMethodOne(int a)
{
b=a;
}
public float myMethodTwo()
{
return 36;
}
}
class MyClassMain
{
public static void main(String[] args)
{
MyClassOne w1=new MyClassOne();
w1A=12; 6、错误,试图给final型再次赋值
w1b=12; 7、对Myclassone中b赋值
w1c=12; 8、对myclassone float c赋值
w1myMethodOne(12); 9、调用myclassone的mymethodone形参为int的方法,
w1myMethodOne(); 10、调用myclassone的mymethodone无形参的方法Systemoutprintln(w1myMethodTwo(12)); 11、输出myclassone的mymethodtwo(12)值
w1c=w1myMethodTwo(); 12让c引用mymethodtwo方法
}
}
请简要说明下面程序的功能
1) public class Sum ( 5分 )
{ public static void main( String args[ ])
{ double sum = 00 ;
for ( int i = 1 ; i <= 100 ; i + + )
sum += 10/(double) i ;
Systemoutprintln( "sum="+sum );
}
} 功能为 求出1/1+1/2+1/3+1/4…+1/100的和
程序设计:(10分)
编写一个java程序。要求该程序能够具有以下功能:
定义一个坐标类coord。坐标类coord必须满足如下要求:
a)coord类含有两部分数据:横坐标x和纵坐标y。x和y的类型都是int类型。
b)coord类的方法有:
coord( ) : 构造函数,将横坐标和纵坐标的值都赋值为0
coord( int x , int y ) : 构造函数,形参 x 为横坐标的初值,y为纵坐标的初值。
coord coordAdd(int x, int y) : 将当前坐标对象与形参的值相加,所得的结果仍是一个坐标,返回给此方法的调用者。
(提示:可以将两个坐标相加定义为横坐标和横坐标相加,纵坐标和纵坐标相加。例如(1,2)+(3,4)=((1+3),(2+4))=(4,6))
public class Coord {
int x=100;
int y=200;
public Coord(){
thisx=0;thisy=0;
}
public Coord(int x,int y) {
x=thisx;y=thisy;
}
void coordAdd(int x,int y){
thisx+=x;
thisy+=y;
}
public static void main (String[] args) {
}
}
程序设计:(10分)
请编写一个java程序,利用该程序计算并输出 1+2+3+……+100的值
Sumjava
public class Sum {
public Sum() {
int sum=0;
for(int i=1;i<=100;i++)
sum+=i;
Systemoutprintln("1+2+3+100="+sum);
}
public static void main (String[] args) {
new Sum();
}
}
Java试题(一)
一、 选择
1欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?
A ArrayList myList=new Object();
B List myList=new ArrayList();
C ArrayList myList=new List();
D List myList=new List();
2paint()方法使用哪种类型的参数
A Graphics
B Graphics2D
C String
D Color
3指出正确的表达式
A byte=128;
B Boolean=null;
C long l=0xfffL;
D double=09239d;
4指出下列程序运行的结果
public class Example{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[]){
Example ex=new Example();
exchange(exstr,exch);
Systemoutprint(exstr+" and ");
Sytemoutprint(exch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='g';
}
}
A good and abc
B good and gbc
C test ok and abc
D test ok and gbc
5运行下列程序, 会产生什么结果
public class X extends Thread implements Runable{
public void run(){
Systemoutprintln("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
tstart();
}
}
A 第一行会产生编译错误
B 第六行会产生编译错误
C 第六行会产生运行错误
D 程序会运行和启动
6要从文件" filedat"文件中读出第10个字节到变量C中,下列哪个方法适合
A FileInputStream in=new FileInputStream("filedat"); inskip(9); int c=inread();
B FileInputStream in=new FileInputStream("filedat"); inskip(10); int c=inread();
C FileInputStream in=new FileInputStream("filedat"); int c=inread();
D RandomAccessFile in=new RandomAccessFile("filedat"); inskip(9); int c=inreadByte();
7容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?
A CardLayout
B FlowLayout
C BorderLayout
D GridLayout
8给出下面代码:
public class Person{
static int arr[] = new int[10];
public static void main(String a[])
{
Systemoutprintln(arr[1]);
}
}
那个语句是正确的?
A 编译时将产生错误;
B 编译时正确,运行时将产生错误;
C 输出零;
D 输出空。
9哪个关键字可以对对象加互斥锁?
A transient
B synchronized
C serialize
D static
10下列哪些语句关于内存回收的说明是正确的
A 程序员必须创建一个线程来释放内存;
B 内存回收程序负责释放无用内存
C 内存回收程序允许程序员直接释放内存
D 内存回收程序可以在指定的时间释放内存对象
11下列代码哪几行会出错:
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I 2;
6) Systemoutprintln (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10) }
A line 4
B line 6
C line 7
D line 8
二、多项选择
1执行下列代码后,哪个结论是正确的 String[] s=new String[10];
A s[10] 为 "";
B s[9] 为 null;
C s[0] 为 未定义
D slength 为10
2下面的表达式哪个是正确的
A String s="你好";int i=3; s+=i;
B String s="你好";int i=3; if(i==s){ s+=i};
C String s="你好";int i=3; s=i+s;
D String s="你好";int i=3; s=i+;
E String s=null; int i=(s!=null)&&(slength>0)slength():0;
3选出合理的标识符
A _sys1_lll
B 2mail
C $change
D class
4哪个布局管理器使用的是组件的最佳尺寸( preferred size)
A FlowLayout
B BorderLayout
C GridLayout
D CardLayout
EGridBagLayout
5下列哪个方法可用于创建一个可运行的类
A public class X implements Runable{ public void run(){ } }
B public class X implements Thread{ public void run(){ } }
C public class X implements Thread{ public int run(){ } }
D public class X implements Runable{ protected void run(){ } }
Epublic class X implements Thread{ public void run(){ } }
6下面哪个方法可以在任何时候被任何线程调用
A notify()
B wait()
C notifyAll()
D sleep()
Eyield()
Fsynchronized(this)
7构造BufferedInputStream的合适参数是哪个
A BufferedInputStream
B BufferedOutputStream
C FileInputStream
D FileOuterStream
E File
8下列说法正确的是
A javalangClonable是类
B javalangRunnable是接口
C Double对象在javalang包中
D Double a=10是正确的java语句
9指出正确的表达式
A double a=10;
B Double a=new Double(10);
C byte a = 340;
D Byte a = 120;
10定义一个类名为"MyClassjava"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:
A private class MyClass extends Object
B class MyClass extends Object
C public class MyClass
D public class MyClass extends Object
11指出下列哪个方法与方法public void add(int a){}为合理的重载方法。
A public int add(int a)
B public void add(long a)
C public void add(int a,int b)
D public void add(float a)
12如果下列的方法能够正常运行,在控制台上将显示什么?
public void example(){
try{
unsafe();
Systemoutprintln("Test1");
}
catch(SafeException e)
{Systemoutprintln("Test 2");}
finally{Systemoutprintln("Test 3");}
Systemoutprintln("Test 4");
}
A Test 1
B Test 2
C Test 3
D Test 4
13下列哪些情况可以终止当前线程的运行?
A 抛出一个例外时。
B 当该线程调用sleep()方法时。
C 当创建一个新线程时。
D 当一个优先级高的线程进入就绪状态时。
三、 填空题
1执行下列代码后的结果是什么 int x,a=2,b=3,c=4; x=++a+b+++c++;
2 包包含了Collection的接口和类的API
3main方法的声明格式包括
4下列程序中构造了一个SET并且调用其方法add(),输出结果是
public class A{
public int hashCode(){return 1;}
public Boolean equals(Object b){return true}
public static void main(String args[]){ Set set=new HashSet();
setadd(new A());
setadd(new A());
setadd(new A());
Systemoutprintln(setsize());
}
}
5下列程序的运行结果是
class A{
class Dog{
private String name;
private int age;
public int step;
Dog(String s,int a)
{
name=s;
age=a;
step=0;
}
public void run(Dog fast)
{
faststep++;
}
}
public static void main (String args[])
{
A a=new A();
Dog d=anew Dog("Tom",3);
dstep=25;
drun(d);
Systemoutprintln(dstep);
}
}
四、 编程题
1编写一个输出"Hello World!"的程序,用两种方式实现(Application、Applet)。
2打印输出10行杨晖三角形
3有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个 String)。如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。否则将用户的话追加到当前目录的文本文件 Memotxt中(路径为"Memotxt"),并向用户返回"OK"。注意Server并发的处理多用户,Memotxt被共享,要求不能出现数据不一致。Server的程序如下文件Serverjava:
public class Server{
public static void main(String args[]){
MemoController memoController = new MemoController();
try{
ServerSocket ss = new ServerSocket(1999);
while (true){
Socket s = ssaccept();
try{
UserThread t = new UserThread(s, memoController);
tstart();
}catch(Exception e){
eprintStackTrace();
}
}
}catch(Exception e){
eprintStackTrace();
}finally{
memoControllerclose();
}
}
}
类UserThread程序如下:
文件UserThreadjava:
public class UserThread extends Thread{
Socket s;
MemoController memo;
public UserThread (Socket s, MemoController memo){
thiss = s;
thismemo = memo;
}
public void run(){
try{
BufferedReader br = new BufferedReader(new InputStreamReader(sgetInputStream()));
PrintWriter pw = new PrintWriter(new OutputStreamWriter(sgetOutputStream()));
String req = brreadLine();
if (reqequals("plain")){
pwprintln("hello");
}else{
memoappend(req);
pwprintln("OK");
}
pwflush();
pwclose();
brclose();
sclose();
}catch(Exception e){
eprintStackTrace();
}
}
}
请根据题目的要求和现有的Serverjava, UserThreadjava的程序完成类MemoControllerjava的程序。
4用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点"Done"按钮来告诉系统整个列表已输入完毕。 如果用户输入完整个列表,程序将创建一个输出文件并显示或打印出来。 格式如:555-1212,Tom 123-456-7890,Peggy L 234-5678,Marc 234-5678,Ron 876-4321,Beth&Brian 331424570,Jean-Marc
四、 编程题答案
1
public class HelloWorld
{
public static void main(String args[])
{
Systemoutprintln("Hello,World!");
}
}
import javaawtGraphics;
import javaappletApplet;
public class HelloWorld extends Applet{
String s;
public void init(){
s="Hello World!";
}
public void paint(Graphics g){
gdrawString(s,25,25);
}
}
2
class yanghui
{
public static void main (String args[])
{
int i,j;
int yhlevel=10;
int yanghui[][];
Systemoutprintln("杨晖三角形:");
yanghui=new int[yhlevel][];
for(i=0;i<yanghuilength;i++)
yanghui[i]=new int[i+1];
yanghui[0][0]=1;
for (i=1; i<yanghuilength;i++)
{
yanghui[i][0]=1;
for(j=1;j<yanghui[i]length-1;j++)
yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];
yanghui[i][yanghui[i]length-1]=1;
}
for (i=0; i<yanghuilength;i++)
{
for(j=0;j<yanghui[i]length;j++)
Systemoutprint(yanghui[i][j]+" ");
Systemoutprintln();
}
}
}
输出结果是:
杨晖三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
3
import javaio;
public class MemoController{
FileOutputStream fos;
OutputStreamWriter osw;
BufferedWriter bw;
public MemoController(){
try{
fos=new FileOutputStream("memotxt",true);
osw=new OutputStreamWriter(fos);
bw=new BufferedWriter(osw);
}catch(FileNotFoundException e){};
}
public synchronized void append(String s){
try{
bwwrite(s,0,slength());
bwflush();
bwclose();
oswclose();
fosclose();
}catch(IOException e){}
}
public static void main(String args[]){
MemoController mmc=new MemoController();
mmcappend("I am xubin ");
}
}
4
import javaio;
class Phones
{
static FileOutputStream fos;
public static final int lineLength = 81;
public static void main(String args[]) throws IOException
{
byte[] phone = new byte[lineLength];
byte[] name = new byte[lineLength];
int I;
try
{
fos = new FileOutputStream("phonenumbers");
}
catch(FileNotFoundException e)
{ }
while (true)
{
Systemerrprintln("Enter a name (enter 'done' to quit)");
readLine(name);
if ("done"equalsIgnoreCase(new String(name,0,0,4)))
{
break;
}
Systemerrprintln("Enter the phone number");
readLine(phone);
for (int i=0;phone[i]!= 0;i++)
{
foswrite(phone[i]);
}
foswrite(',');
for (int i=0;name[i]!= 0;i++)
{
foswrite(name[i]);
}
foswrite('\n');
}
fosclose();
}
private static void readLine(byte line[]) throws IOException
{
int i=0,b=0;
while ((i<lineLength-1)&&((b=Systeminread())!='\n'))
{
line[i++] = (byte)b;
}
line[i]=(byte) 0;
}
}
一、 选择题答案
选择第1题
B
选择第2题
A
选择第3题
C
选择第4题
B
选择第5题
A
选择第6题
A
选择第7题
B
选择第8题
C
选择第9题
B
选择第10题
B
选择第11题
C
二、多项选择题答案
多项选择第1题
BD
多项选择第2题
AE
多项选择第3题
AC
多项选择第4题
AE
多项选择第5题
AE
多项选择第6题
DEF
多项选择第7题
AC
多项选择第8题
BC
多项选择第9题
AB
多项选择第10题
CD
多项选择第11题
CD
多项选择第12题
ACD
多项选择第13题
ABD
三、 填空题答案
填空第1题
x=10,a=3,b=4,c=5
填空第2题
javautil
填空第3题
(public )(static )(void)(main)(String args[])
填空第4题
1
填空第5题
26
haha,我帮你写,不够地方显示阿。点下面那个参考资料有完整答案拉
一、 填空题(215=30)
1class 2 javac java 3 4,4,12 4 int i = 12
5 true flase 6.float[] floatAry ={23, 75} 7.方法 属性
8.abstract 9 jar myjava 10inner
二、简答题(85=40)
1. Java的基本数据类型及其字节数。
byte 1个字节 short 2个字节 char 2个字节 int 4个字节 long 8个字节
float 4个字节 double 8个字节
2.什么是成员变量、局部变量,它们的作用范围分别是怎样的。
类体由2部分构成:一部分是变量的定义;一部分是方法的定义
在变量定义部分定义的变量叫做类的成员变量,成员变量在整个类中都有效
(全局变量应该是成员变量的俗称)
在方法体中定义的变量叫做局部变量,局部变量只在定义它的方法中有效
3.简述方法与变量的访问控制符及它们的访问情况。
变量和方法的修饰字public、protected、private, final, static
public:任何其他类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。
protected变量和方法:
如果一个类中变量或方法有修饰字protected,同一类、同一包可以使用。不同包的类要使用,必须是该类的子类,可以存取变量或调用。
private不允许任何其他类存取和调用,当子类中的变量名与父类的相同,原来的变量被遮盖。
final: final在方法之前,防止该方法被覆盖; final在类之前,标是该类不能被继承; final在变量之前,定义一个常量。
static:
在变量或方法之前,表明它们是属于类的;
静态变量在各实例间共享,如果是public静态变量,则其它类可以不通过实例化访问它们; 静态方法称为类的方法,因此不用实例化即可调用(面向过程)
一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量;一个类的方法只能访问自己的局部变量。
4.继承使用的原则。
1)子类能够继承父类中被声明为public和protected的成员变量和成员方法;但是不能继承被声明为private的成员变量和成员方法;
2)子类能够继承在同一个包中的由默认修饰符修饰的成员变量和成员方法;
3)如果子类声明了一个与父类的成员变量同名的成员变量,则子类不能继承父类的成员变量,此时称子类的成员隐藏了父类的成员变量;
4)如果子类声明了一个与父类的成员方法同名的成员方法,则子类不能继承父类的成员方法,此时称子类的成员方法覆盖了父类的成员方法。
5.Java的异常处理机制及它的基本工作原理
Java通过面向对象的方法来处理例外。在一个方法的运行过程中,如果发生了例外,则这个方法生成代表该例外的一个对象,
并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛弃(throw)一个例外。
运行时系统在方法的调用栈中查找,从生成例外的方法开始进行回朔,直到找到包含相应例外处理的方法为止,这一个过程称为捕获(catch)一个例外。
三、编程题(152=30)
1.
interface StudentInterface {
public abstract double getFee();
public abstract void setFee(double fee);
}
interface TeacherInterface {
public abstract void setPay(double pay);
public abstract double getPay();
}
public class Graduate implements StudentInterface, TeacherInterface {
private String name;
private char sex;
private int age;
private double fee;
private double pay;
public double getFee() {
return fee;
}
public void setFee(double fee) {
thisfee = fee;
}
public double getPay() {
return pay;
}
public void setPay(double pay) {
thispay = pay;
}
public static void main(String args[]) {
Graduate zhangsan = new Graduate();
zhangsansetPay(11111);// 年收入
zhangsansetFee(1233);// 学费
if (zhangsangetPay() - zhangsangetFee() < 2000) {
Systemoutprintln(
注意:还不是完整的文档,太长了不能全帖完。要的话找我!^_^
《Java程序设计》练习题
一、判断题
1、 Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。 ( )
2、 一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。 ( )
3、方法中的形参可以和方法所属类的属性同名。 ( )
4、接口无构造器,不能有实例,也不能定义常量。 ( )
5、利用File对象可以判断一个文件或目录是否存在。 ( )
6、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。 ( )
7、BorderLayout是面板的缺省布局管理器。 ( )
8、BorderLayout最多可以使用5个组件。 ( )
9、一个面板(JPanel)不能被加入另一个面板(JPanel)中。 ( )
10、菜单需要一个JMenuBar对象,以使他们能被添加到JFrame。 ( )
11、线程可以用yield使同优先级的线程运行。 ( )
12、Systemin是标准输入流,能用read方法读取键盘的输入。 ( )
13、数据流就是数据通信通道,指在计算机的输入输出之间运动的数据序列。( )
二、填空题
1、设x,y,z的值分别为ture、false和false,试计算下列逻辑表达式的值:
(1) x &&y||!z&&ture (2) !x||!y&&!z
(3) (!x&&!y)||(!y&&!z) (4) x&&y||true&&!z
2、求下面表达式的值:
(1) 已知x=2、y=6、z=50,求x+(int)y/2z%4
(2) 已知x=123,求x/100+x%100/10+x%10
(3) 已知x=160、y=28、z=5,求(byte)x +(int)y+(float)z;
(4) 设 int x=17,y=5; 执行语句 x%=x++/--y 后x的值为 。
(5) 设 int a=7,b=6,c=5;,表达式 (a+b)>(cc)&&b==c||c>b 的值为 。
(6) 设 int a=3,b=5,c=7;,表达式a>c||c>b!=0&&c==b+a 的值为 。
3、下列表达式中n和x被赋值为多少?
int n=0;
int x=1;
n=x++ + x++; //这里n= , x=
n=n++ - x--; //这里n= , x=
n=x-- + -x++; //这里n= , x=
n=++x + x++; //这里n= , x=
4、使用 方法为组件设置布局管理器,JFrame的缺省布局管理器是 ,内容面板的缺省布局管理器是 。
5、写出4个常见的异常例子: 、 、 和 。重新抛出一个异常用 语句。
6、线程通过 方法可以休眠一段时间,然后恢复运行,当 时,线程进入死亡状态。
7、编写一个线程可以用 和 来实现。
8、创建文件(c:\testtxt)对象的语句是 ,DataInputStream对象提供 方法可以按行读取文件内容。
9、Container 的________方法可以将_______组件加入容器。
10、在执行Java线程的程序中,程序通过调用_______方法启动线程,随后又调用________方法。
11、使用 方法为组件设置布局管理器,JFrame的缺省布局管理器是 ,内容面板的缺省布局管理器是 。
12、JavaswingJFramegetContentPane()的返回类型是 。
13、数据越界抛出的异常类是 ,整数除零抛出的异常类是 ,算术溢出抛出的异常类是 。
三、选择题
1、 下面哪些是不合法的变量名称? ( )
A) 2D B) True C) _name D) T1 E) while-ture
2、下列变量定义不正确的是: ( )
A) boolean status=false; B) float d = 456;
C) char c = “a”; D) int k = 1+’1’; E) float f=1/4;
3、下列数组的定义不合法的是: ( )
A) char c[][]=new char[2][3];
B) char c[][]=new char[6][];
C) char [][]c=new char[3][3];
D) char [][]c=new char[][4];
E) int []a[] = new int[10][10];
4、对于下列代码:
public class Example{
String str=new String("hello");
char ch[]={'d','b','c'};
public static void main(String args[]){
Example ex=new Example();
exchange(exstr,exch);
Systemoutprintln(exstr+"and"+exch[0]);
}
public void change(String str,char ch[]){
str="world";ch[0]= 'a';
}
}
输出结果是: ( )
A) hello and d B) hello and a
C) world and d D) world and a
5、下列说法哪个是正确的? ( )
A) 子类不能定义和父类同名同参数的方法
B) 子类只能继承父类的方法,而不能重载
C) 重载就是一个类中有多个同名但有不同形参和方法体的方法
D) 子类只能覆盖父类的方法,而不能重载
6、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( )
A) 找到合适的例外类型后继续执行后面的catch
B) 找到每个符合条件的catch都执行一次
C) 找到合适的例外类型后就不再执行后面的catch
D) 对每个catch都执行一次
7、以下哪一项不是File类的功能: ( )
A) 创建文件
B) 创建目录
C) 删除文件
D) 拷贝文件
8、下列说法哪个是正确的? ( )
A) BorderLayout是面板的缺省布局管理器
B) 当鼠标指针位于一个GUI组件的边上时,发生一个MouseOver事件
C) 一个面板(Jpanel) 不能被加入到另一个面板(Jpanel)中
D) 在BorderLayout中,添加到NORTH区的两个按钮将并排显示。
9、在java程序中,下列关于线程的说法错误的是: ( )
A) run方法是运行线程的主体
B) 多个进程运行时执行顺序是按顺序执行的
C) 如果线程死亡,它便不能运行
D) 在java中,高优先级的可运行线程会抢占低优先级线程
10、关于JDBC访问数据库的说法错误的是: ( )
A) 建立数据库连接时,必须加载驱动程序,可采用ClassforName()实现
B) 用于建立与某个数据源的连接可采用DriverManager类的getConnection方法
C) 建立数据库连接时,必须要进行异常处理
D) JDBC中查询语句的执行方法必须采用Statement类实现
四、程序阅读题
1、阅读下面的程序,程序保存为Testjava:
1) public class Test
2) {
3) public static void main(String[] args)
4) {
5) Systemoutprintln(args[2]);
6) }
7) }
以上程序经编译后用java Test 1 2 3 运行得到的输出结果是什么?
2、阅读下面的程序:
① public class Test{
② public static void main(String[] a){
③ int i = IntegerparseInt(a[0]);
④ switch (i) {
⑤ case 1:Systemoutprintln("Frist season");break;
⑥ case 2:Systemoutprintln("Second season");
⑦ case 3:Systemoutprintln("3th season");break;
⑧ case 4:Systemoutprintln("Last season");
⑨ }
⑩ }
⑪ }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 2 运行得到的输出结果是什么?
3、阅读下面的程序:
① public class Test{
② public static void main(String[ ] args) {
③ int x,y=2,i=0,j=0;
④ if(argslength<2) Systemexit(-1);
⑤ x = IntegerparseInt(args[1]);
⑥ switch(x){
⑦ case 1:switch(y){
⑧ case 1:i++;break;
⑨ case 2:j++;break;
⑩ default:i++;j++;
⑪ }
⑫ case 2:i++;j++;break;
⑬ default:i++;j++;
⑭ }
⑮ Systemoutprintln("i="+i);
⑯ Systemoutprintln("j="+j);
⑰ }
⑱ }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 1 2 3 运行得到的运行结果是什么?
4、阅读下面的程序,程序保存为Testjava:
1) public class Test
2) {
3) short mValue;
4) public static void main(String[] args)
5) {
6) int a = 32;
7) int b = 56;
8) Test os = new Test(a+b);
9) osShow( );
10) }
11) protected Test(short aValue) { mValue = aValue; }
12) public void Show( ) { Systemoutprintln(mValue); }
13) }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?
5、阅读下面的程序:
class test
{
public static void main(String[] args)
{
int i = 1;
int All = 0;
for (;i<=10;i++)
{
if (i%6==0) break;
if(i%2==0) {i=i+2;continue;}
All = All + i;
}
Systemoutprintln(All);
}
}
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?
6、阅读下面的程序,程序保存为Testjava:
1) public class Test
2) {
3) public static void main(String[] args)
4) {
5) int i = 100;
6) int j = 0;
7) boolean b = true;
8) while (b)
9) {
10) if (b||(i<50)) b = false;
11) else b = true;
12) j=j+1;
13) i=i-1;
14) }
15) Systemoutprintln(j);
16) }
17) }
上面的程序经编译,运行后输出的结果是什么?
7、阅读下面的程序:
1) public class test
2) {
3) public static void main(String argv[])
4) {
5) Bird b = new Bird();
6) bFly(3);
7) }
8) }
9) class Bird
10) {
11) static int Type = 2;
12) private void Fly(int an_Type)
13) {
14) Type = an_Type;
15) Systemoutprintln("Flying"+Type);
16) }
17) }
上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?
8、阅读下面的程序:
1) abstract class Base{
2) abstract public void myfunc();
3) public void another(){
4) Systemoutprintln("Another method");
5) }
6) }
7) public class Abs extends Base{
8) public static void main(String argv[]){
9) Base b = new Abs();
10) banother();
11) }
12) public void myfunc(){
13) Systemoutprintln("My Func");
14) }
15) public void another(){
16) myfunc();
17) }
18) }
以上程序经编译后,运行结果是什么?
9、阅读下面的程序:
1) class Super{
2) public int i=0;
3) public Super(){
4) i=1;
5) }
6) }
7) public class Sub extends Super{
8) public Sub(){
9) i=2;
10) }
11) public static void main(String args[]){
12) Sub s=new Sub();
13) Systemoutprintln(si);
14) }
15) }
上面的程序经编译后,运行结果是什么?
10、阅读下面的程序,程序保存为Testjava:
1) public class Test {
2) public static void main(String[ ] args) {
3) int index=0;
4) while (index<=100) {
5) index+=10;
6) if (index==40)
7) break;
8) Systemoutprintln("The index is "+index);
9) }
10) }
11) }
上面的程序经编译,运行后输出的结果是什么?
五、问答题
1、 设int类型变量x和y分别初始化为3和100,下列语句的循环体共执行几次?执行完下列语句后x和y的值分别是多少?
(1) while(x<=y) x=2x;
(2) while(y/x>5) if(y-x>25) x=x+1; else y=y/x;
(3) do{x=2x;} while(x<y);
(4) do{x=y/x;y=y-x;}while(x>=y);
(5) do{y=y/x-1; if(y>=x) y=x;} while(y>=1);
2、简述对象、类的概念。
3、简述封装、继承性和多态性的概念。
4、根据以下的设计要求编写java源代码。
类名: Circle
实例数据(均为private):
radius(double) //圆的半径
方法:
构造方法(没有参数,设置radius的值为100)
setRadius(有一个double参数,将radius的值设为这个新值),
getRadius (没有参数,返回radius的值)
sameSize(有一个参数,是另一个Circle对象的引用,如果两个Circle对象的radius的差小于0001,则返回true)
5、下面的代码使用上题的Circle类,请回答下面的问题:
public class CircleTester {
public static void main(String[] args) {
Circle c1,c2,c3;
c1 = new Circle();
c2 = new Circle();
Systemoutprintln(“are same is: “+c1sameSize(c2));
c2setRadius(200);
comparereset();
Systemoutprintln(“are same is: “+c1sameSize(c2));
}
}
问题:
(1) 共创建了几个Circle对象
(2) 程序运行的结果是什么
6、假设已有一个ArrayMethods 类,包含以下的方法:
public static void replace(double[] a, int p, double v)
将数组a中下标为p的元素的值替换为v
public static void fill(double[] a, int p, double v)
将数组a中的前p个元素用value值填充(即将数组a的前p个元素的值,设成v),如果数组的长度小于p,则全部元素都设成v
public static void display(double[] a)
在屏幕上显示数组a的内容
现在假设你在main()方法中已经声明了如下变量:
double[] array1={45, 60, 01, 22};
double[] array2;
double num1;
int pos=3;
要求对下面的3组语句,先回答是否合法(即没有编译错误),如果是合法的,请描述程序运行的效果,如果不合法,请说明理由
1) num1 = array1[2];
ArrayMethodsreplace(array1, pos, num1);
ArrayMethodsdisplay(array1);
2) num1 = array1[0];
ArrayMethodsfill(array1, pos, num1);
ArrayMethodsdisplay(array1);
3) num1 = array1[1];
array2=new double[num1];
ArrayMethodsdisplay(array2);
六、编程题
1、分别利用for、while、do~while编写计算正整数n1到n2的累加和。
2、编写一个编程,给定一个t的值(t的值也可通过命令行输入),按下式计算y值并输出,要求分别写作if语句和switch语句。
t2-1 0≤t<1
t3-2•t-2 1≤t<3
y= t2-t•sint 3≤t<5
t+1 5≤t<7
t-1 其它
3、设计一个类TestArraySum,定义一个含有10个元素的int类型数组a,10个数组元素的值是11~20,再定义一个方法arraySum(int[] a),返回数组所有元素的和,最后用main方法实现在屏幕上输出数组a所有元素的和。
4、编写一个java程序Suansujava,定义两个整型变量a和b,使用构造函数初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商 (方法名为DivAB)的方法。
用另一个java程序TestSuansujava测试Suansujava定义的方法,并在屏幕上输出结果。
5、创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle类创建下列方法:
getArea返回矩形的面积,要求长和高的范围为0~50;
getPerimeter返回矩形的周长;
Draw使用星号()作为描绘字符画出该矩形(假设宽度和高度为整数);
在另一个类TestRectangle中编写main方法来测试Rectangle类。
6、用面向对象的思想定义一个接口Area,其中包含一个计算面积的方法CalsulateArea(),然后设计MyCircle和MyRectangle两个类都实现这个接口中的方法CalsulateArea(),分别计算圆和矩形的面积,最后写出测试以上类和方法的程序。
7、创建一个Frame,有两个Button按钮和一个TextField,点击按钮,在TextField上显示Button信息。
8、创建下图的GUI程序(注意:不需要提供任何功能)。
9、编写一个文件拷贝的程序,将文件C:\test1txt的内容拷贝到C:\test2txt中。
10、编写一个程序,统计给定文件中每个字母出现的频率。
11、编写一个程序,统计给定文件中包含的单词数目,并按单词表的顺序显示统计结果。
12、用图形界面设计一个简单的计算器。
13、用图形界面实现简单的银行柜台业务,包含创建新帐户、取款、存款、查询帐户余额等业务。
一、程序填空题
1下面是一个java应用程序(Application),它的功能是在屏幕上输出26个英文字母,其中每个字母相隔一个制表符,请完成程序。
public _____ Class1
{
public static void main( String args[] ) {
char c='a';
for (int i=1;i<=26;i++){
Systemoutprint(____________);
}
}
}
2下面程序的功能为计算数组各元素的和,请完成程序。
import javaawtGraphics;
import javaxswingJApplet;
public class SumOfArray _______ JApplet{
public void paint( Graphics g ) {
int a[] = { 1, 3, 5, 7, 9, 10 };
int total=0;
for ( int i = 0; i < alength; i++ )
total+=_____________;
gdrawString( "Total of array elements: " + total, 25, 25 );
}
}
3下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将程序补充完
整。
import javaio;
public class Class1{
public static void main( String args[] ) {
int i1=1234,i2=456,i3=-987;
int MaxValue;
MaxValue=____________;
Systemoutprintln("三个数的最大值:"+MaxValue);
}
public ________ int max(int x,int y,int z) {
int temp1,max_value;
temp1=x>yx:y;
max_value=temp1>ztemp1:z;
return max_value;
}
}
二、简答题
1阅读下面的程序,回答以下问题(6分)问题:
import javaawt;
import javaxswing;
import javaawtevent;
public class Test extends JApplet implements ActionListener {
JLabel aa;
JTextField t1;
int i=0;
public void init(){
thissetLayout(new FlowLayout());
aa=new JLabel("请输入一个整数:");
add(aa);
t1=new JTextField(10);
add(t1);
t1addActionListener(this);
}
public void paint(Graphics g){
gdrawString("a="+( ++i--i),20,60);
gdrawString("i="+( i),20,80);
}
public void actionPerformed(ActionEvent e){
i=IntegerparseInt(t1getText());//转化为整数
repaint();
}
}
1)程序开头的 import javaawtevent ; 的含义是什么
2)ActionListener是类还是接口 程序中哪个方法是ActionListener中的方法,其功能为何
3)若在文本域中输入6并回车,程序输出什么
2阅读程序,回答以下问题(6分)
public class InheritTest1{
public static void main (String[] args){
A aa;
B bb;
aa=new A( );
bb=new B( );
aashow( );
bbshow();
}
}
public class A{ //Ajava
int a=1;
double d=20;
void show( ){
Systemoutprintln("Class A: "+"\ta="+a +"\td="+d);
}
}
public class B extends A{ //Bjava
float a=30f;
String d="Java program";
int b=4;
void show( ){
Systemoutprintln("Class A: "+"\ta="+supera +"\td="+superd);
supershow( );
Systemoutprintln("Class B: "+"\ta="+a +"\td="+d+"\tb="+b);
}
}
问题:
1) 这是哪一类java程序
2) 类A和类B是什么关系?
3) 按程序输出的格式写出程序运行后的结果
三、程序设计题
1 实现java应用程序实现的功能是从文本域中输入你的名字"",回车后在标签中显示",你好!" ,请完成程序。如图
这是答案:
一、程序填空题
1class "\t"+(char)(c+i-1)
2extends a[i]
3max(i1,i2) static
二、简答题
1 1)程序开头的 import javaawtevent ; 的含义是什么
加载javaawtevent包中的所有类。
2)ActionListener是类还是接口 程序中哪个方法是ActionListener中的方法,其功能为何
ActionListener是接口,actionPerformed是ActionListener中的方法,功能是当点击按钮时,将文本域的数据转化为整数。
3)若在文本域中输入6并回车,程序输出什么
A=42
I=6
2阅读程序,回答以下问题(6分)
}问题:
1) 这是哪一类java程序
Java Application
2) 类A和类B是什么关系?
A类是B类的父类
3) 按程序输出的格式写出程序运行后的结果
三、程序设计题
1 实现java应用程序实现的功能是从文本域中输入你的名字"",回车后在标签中显示",你好!" ,请完成程序。如图
import javaawt;
import javaxswing;
import javaawtevent;
public class Test extends JFrame implements ActionListener
{
JLabel aa,bb;
JTextField t1;
String s=" ";
public Test(){
aa=new JLabel("请输入你的名字:");
bb=new JLabel();
Container c=thisgetContentPane();
csetLayout(new FlowLayout());
t1=new JTextField(10);
cadd(aa);
cadd(t1);
cadd(bb);
t1addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(t1getText()!=null){
bbsetText(t1getText()+",你好!");
repaint();
}
}
public static void main(String[] args){
Test t=new Test();
tpack();
tshow();
}
}
我这还有 。。。如果还要的话 到我空间留言
以上就是关于java程序设计题,帮帮忙给做做看,要一定正确啊,教别人呢,别误人子弟啊,呵呵,谢谢啦全部的内容,包括:java程序设计题,帮帮忙给做做看,要一定正确啊,教别人呢,别误人子弟啊,呵呵,谢谢啦、JAVA语言程序设计题请高手回答、2008年专升本考试就要来了,有关JAVA程序设计那位帮我~!!~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)