当前位置:文档之家› JAVA模拟试题(含答案)

JAVA模拟试题(含答案)

一、请分别写出下面程序的运行结果,将答案添在每道题后的空格处
1.
public class Test1 {
public static void main(String[] args) {
int x=10,y=20;
System.out.print("x="+(x++)+" y="+(++y)+" sum="+(x+y)); }
}
运行结果:x=10 y=21 sum=32
2.
public class Test2 {
public static void main(String[] args) {
boolean end;
for(int i=2;i<20;i++){
end=true;
for(int j=2;j<=i;j++){
if(i%j==0&&j<i){
end=false;
break;
}
}
if(end)
System.out.print(i+" ");
}
}
}
运行结果:2 3 5 7 11 13 17 19
3.
public class Test3 extends B{
public static void main(String[] args) {
int a=12,b=12;
int x=compute(a,b);
int y=subtract(a,b);
System.out.println("x="+x+" y="+y);
}
static public int compute(int a, int b){
return a*b;
}
}
class B{
static public int compute(int a,int b){
return a+b;
}
static public int subtract(int a, int b){
return a-b;
}
}
运行结果:x=24 y=0
4.
public class Test1 {
public static void main(String[] args){
String s="Java是一门很优秀的编程语言。

Java可以用来开发大型应用程序。

Java 具备了一次写成处处运行的特点";
int k=0,num=0;
while(true){
k=s.indexOf("Java",k);
if(k>=0){
num++;k++;
}
else break;
}
System.out.println(num);
}
}
运行结果:3
二、试写一个public方法max,它的输入参数是一个int型数组。

max方法可以找出参数数组中的最大值。

并将最大值返回。

(请将方法写完整,包括方法声明和方法体)
public static int GetMax(int[] a)
{
int temp=0;
for(int i=0;i<a.length;i++)
{
if(a[i]>temp)
{
temp=a[i];
}
}
return temp;
}
三、请写一个完整的Java程序,用文件读入输出方法将d盘下的test.txt文件复制到e盘下。

import java.io.*;
public class t1 {
public static void main(String[] args) throws IOException{
int a;
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("d:\\test.txt");
fos = new FileOutputStream("e:\\test.txt");
while((a=fis.read())!=-1)
{
try {
fos.write(a);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("复制完成");
} catch (Exception e) {
e.printStackTrace();
}
finally{
fos.close();
fis.close();
}
}
}
四、请写一个GUI应用程序,如下图所示。

当点击图中Time按钮,文本框中将显示当前时间。

五、一个多线程应用程序中,有一个类Var
class Var{
static boolean has;
static String code;
static boolean stop;
}
Var类中,成员变量code存储字符串,成员变量has为true表示code中新添加了字符串,为false表示code中的字符串已被读过。

成员变量stop为true表示通知线程停止运行。

一个主线程MainThread功能如下:当Var.has为true,则打印Var.code中的字符串,然后将Var.has置为false。

一共打印10个字符串。

MainThread的代码如下:
public class MainThread {
public static void main(String[] args) {
CheckCode cc=new CheckCode();
cc.start();
int num=0;
while(num<10){
if(Var.has){
System.out.println(Var.code);
Var.has=false;
num++;
}
}
Var.stop=true;
}
}
另有个线程CheckCode功能如下:线程循环运行,当检测到Var.has为false时,随机产生一个长度为4个英文字母的字符串,如“kiab”,放到Var.code,同时将Var.has置为true。

当检测到Var.stop为true时,则结束线程。

请完整写出线程CheckCode的代码。

CheckCode.java
public class CheckCode implements Runnable {
@Override
public void run() {
while (!Var.stop) {
if (!Var.has) {
Var.code = new RandStr().getStr();
Var.has = true;
try {
Thread.currentThread().sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}。

相关主题