JAVA测试题(附答案)

  • 格式:doc
  • 大小:88.00 KB
  • 文档页数:15

请用JAVA语言回答

Barbara_111@

1. 设X为FLOAT型变量,Y为DOUBLE型变量,a为INT型变量,B为LONG型变量,C为CHAR型变量,则表达式X+Y*A/X+B/Y+C的值为_FLOAT_类型。

X=2.5 A=7 Y=4,则表达式X+A%3*(INT)Y的值为_7.5_

2. 输出1到100中的偶数,一行5个。

int count = 0;

for(int i=0; i<=100; i++){

if(i % 2 == 0){

System.out.print(i);

count ++;

}

if(count % 5 ==0 && count > 0)

System.out.println();

}

3. 打印出所有的“水仙花数”。所谓水仙花数指一个三位数,其各位数字的立方和等于该数本身。

for(int i=0; i<1000; i++){

int a = Integer.parseint(String.valueOf(i).substring(0,1));

int b = Integer.parseint(String.valueOf(i).substring(1,2));

int c = Integer.parseint(String.valueOf(i).substring(2,3));

if(a^3 + b^3 + c^3 == i)

System.out.println(i);

}

4. 打印一个三角形的0-9的乘法表。

for(int a=9; a>0 ; a--){

for(int b=9; b>a; b--){

System.out.print(a + “*” + b + “=” + a*b);

}

System.out.println();

}

5. 创建一个有两个方法的类,其中第一个方法两次调用每二个方法;第一次不使用THIS,第二次使用THIS。

public class Test(){

public void a(){

b();

this.b();

}

public void b(){}

}

PS:搞不懂这题啥意思,感觉作这题很白痴.

6. 编写从键盘读入10个字符入入一个字符数组,并在屏幕上显示它们的程序。请处理数组越界异常。

InputStrem is = System.in; int[] array = new int[10];

int pos = 0;

while(pos<10){

int c = in.read();

array[pos] = c;

pos++;

}

for(int i=0; i

System.out.print(arry[i]);

7. 利用数组,初始化成10个整数,将其排序

public void sort(int[] data) {

int temp;

for(int i=1;i

for(int j=i;(j>0)&&(data[j]

SortUtil.swap(data,j,j-1);

}

}

}

public void init(){

int a = new int[10];

for(int i=0; i

a[i] = new Random().nextInt();

}

sort(a);

}

8. 编程完成下列功能:建立两个文件MYFILE1。TXT和MYFILE2。TXT,对文件MYFILE1。TXT输入内容“I am a student.”,并将其内容拷贝给MYFILE2。TXT

File file1 = new File(MYFILE1.txt);

File file2 = new File(MYFILE2.txt);

PrintWriter pw = new PrintWriter (new FileOutPutStream(file1));

pw.print(I am a student.);

pw.flush();

pw.close();

InputStream is = new FileInputStrream(file1);

OuputStream os = new FileOutputStream(file2);

while(is.avalible()){

os.write(is.read());

os.flush();

}

is.close();

os.flush();

9. 实现一个APPLET,使其可以用三个按钮控制:

A、 从服务器下载音乐播放 B、 不停地运行一个动画

C、 使上述动画和音乐协调播放

10、使用组件,制作一元二次方程求根的系统。要求:

A、一元二次方程三个系数a b c输入界面

B、显示检查b*b-4*a*c 的值

C、显示求出的根

int a,b,c,p,q,x,x1,x2;

p=b*b-4*a*c;

if(p>0){

x=(-b)/(2*a);

q=Math.sqr(p)/(2*a);

x1=x+q;

x2=x-q;

System.out.println('Two real root, X1,X2:'+x1 + x2);

}

if(p==0){

x=(-b)/(2*a);

System.out.println ('One real root:'+x) ;

}

if(p<0){

System.out.println ('No real root.')

}

11、实现两个定时线程,一个线程每隔1S显示一次,一个线程每隔3S显示一次

Thread t1 = new Thread(new Runnable(){public void

run(){System.out.println(“A”);Thread.currentThread().sleep(1000));

Thread t2 = new Thread(new Runnable(){public void

run(){System.out.println(“A”);Thread.currentThread().sleep(3000));

t1.start();

t2.start();

12.编程读出中国矿业大学主页的HTML文件,判断主页的HTML文件中有无关于“教学改革“的内容。上面的程序中用到了哪些有关URL操作的访求?各起什么作用?中国矿业大学URL为:

URL servletURL = new URL("");

URLConnection servletConnection = servletURL.openConnection();

LineNumberReade lur = new LineNumberReade (servletConnection. .openStream());

while(lur.avalible()){

String s = lur.readLine();

if(s.indexOf(“教学改革“) > =0)

System.out.println(“OK”)

}

lur.close();

servletConnection.close();

第二单元 自检自测 1:将下列表达式转换为是JAVA表达式: 1+x^2/Math.seq

(1)

(2)(a*x+(a-x)/a*3)/2

2、设x为float型变量,y为double型变量,a为int型变量, b为long型变量,c为char型变量, 则表达式x+y﹡a/x+b/y+c的值为_double_类型。设x=2.5,a=7,y=4 则x+a%3*(int)y的值为_double__

3、写出下列程序执行结果:

Int a=3,b=10,c=0;

If(a>b)b=5;c=7;语句执行后,b=_10__,c=__7___

4.下列for循环的执行次数为__0___

for(int x=0;(x==0) && (x>4);x++);

5.下列语句执行后,j的值为__5__

Int j=3,i=2

While(--i!=i/j)j=j+2;

6、下列语句执行后K值为__2___

int i=10,j=18,k=30;

switch(j-i)

{case 8:k++;

case 9:k+=2;

case 10:k+=3;

default:k/=j;}

7、下列语句执行后X的值为_25_

int a=3,b=4,x=5;

if(++a==b)x=++a*x;

8、以下程序段结束后变量sum值为_3450_

int sum=0,i;

for(i=1;i<=4;i++)

{switch(i)

{case 1:{sum+=2;}

Case 2:{sum+=4;continue;}

Case 3:{sum+=8;}

Case 4:{sum+=16;break;}

}

}

9、. 你编译一个定义了5个类和18个方法的Java源文件。请问,当编译成源文件时会产生多少字节码文件,扩展名是什么?d

a) 23个字节码文件,扩展名为.class

b)1个字节码文件,扩展名为.class

c) 5个字节码文件,扩展名为.java 2211xx)3(21axaax