Java习题文档格式.docx
《Java习题文档格式.docx》由会员分享,可在线阅读,更多相关《Java习题文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
publicvoidprintout(){
for(inti=0;
System.out.print(a[i]+"
\t"
);
publicclassprogram_2{
Sortx=newSort();
intb[]={1,7,5,4,8,6,2,9,0};
x.px(b);
x.make();
x.printout();
3.定义一个线程PrintThread,该线程打印输出1~1000之间所有3的倍数,每输出一个数休眠1500毫秒,在main方法中创建该线程的一个实例,并启动该线程。
publicclassPrintThreadextendsThread{
publicvoidrun(){
for(inti=1;
=1000;
if(i%3==0){
System.out.print(i+"
"
try{
Thread.sleep(3000);
}
catch(Exceptionc){}
if(i%60==0){
System.out.print("
\n"
publicclassTimes_3{
PrintThreadthread=newPrintThread();
thread.start();
4.编写程序通过静态方法调用从包含10个学号的数组中随机抽取一个学号并输出显示。
publicclassprogram_4{
publicstaticvoidmain(String[]args)
{String[]number=newString[10];
number[0]="
2009001"
;
number[1]="
2009002"
number[2]="
2009003"
number[3]="
2009004"
number[4]="
2009005"
number[5]="
2009006"
number[6]="
2009007"
number[7]="
2009008"
number[8]="
2009009"
number[9]="
2009010"
System.out.println(number[(int)(Math.random()*10)]);
5.编写程序判断一个数是不是素数
importjava.io.*;
publicclassSushu{
publicstaticvoidmain(Stringargs[])throwsIOException
{
intnum;
Stringstr;
BufferedReaderbuf;
buf=newBufferedReader(newInputStreamReader(System.in));
System.out.print("
请输入一个正整数:
"
str=buf.readLine();
//将输入的文字指定给字符串变量str存放
num=Integer.parseInt(str);
//将str转成int类型后指定给num存放
if(num<
=0){
System.out.print("
您所输入的为非正整数!
!
System.exit(-1);
if(num==1){
1既不是素数也不是合数!
if(num==2){
2是素数!
for(inti=2;
=num/2;
if(num%i==0){
System.out.print(num+"
是合数!
System.exit(-1);
System.out.print(num+"
是素数!
6.“三天打鱼两天晒网”。
某人从2010年1月1日起三天打鱼两天晒网,编程计算2010年5月1日,他在打鱼还是在晒网。
打鱼则输出1,晒网则输出0。
publicclassprogram_6{
inti=(31+28+31+30+1)%5;
if(i==1||i==2||i==3)
System.out.println
(1);
else
System.out.println(0);
8.使用BufferedWriter类在D:
\Hello.txt文件中写入10万个数并输出所用的时间。
编写程序判断一个数是否为同构数据
importjava.util.Scanner;
publicclassprogram_8{
publicstaticvoidmain(String[]args)throwsIOException{
StringfileName="
e:
/hello.txt"
BufferedWriterin=newBufferedWriter(newFileWriter(fileName));
System.out.println("
开始输入10万个数据"
longstarttime=System.currentTimeMillis();
for(inti=0;
100000;
in.write(i);
in.newLine();
数据输入结束"
longendtime=System.currentTimeMillis();
总共用时"
+(endtime-starttime));
输入一个整数判断是否同构"
Scannerx=newScanner(System.in);
inty=x.nextInt();
TonggouS=newTonggou(y);
S.Tg();
classTonggou{
privateintn;
publicTonggou(intm){
n=m;
publicvoidTg(){
if(n==n*n%10)System.out.println(n+"
是二阶同构数"
elseSystem.out.println(n+"
不是二阶同构数"
9.编写程序练习将字符串转换为int、double类型,将数值类型转换为字符串类型。
练习StringBuffer类的使用方法。
System.out.println("
输入int数字字符串:
Scannerinta=newScanner(System.in);
其转换成int型为"
+Integer.valueOf(inta.nextLine()).intValue());
输入一个double型数据字符串:
其转换成double型为"
+Double.valueOf(inta.nextLine()).doubleValue());
输入一个整数:
Stringstringb=String.valueOf(inta.nextInt());
其字符串为"
+stringb);
10.编写程序读取文本并显示在屏幕上
11.输出n的所有质数因子如n=13860则输出22335711
publicclassprogram_11{
publicstaticbooleanjudge(inta){
inti;
if(a==2)returntrue;
else{
for(i=2;
=a/2;
i++)
if(a%i==0)break;
if(i>
(a/2))returntrue;
else
returnfalse;
}}
intresult,i=2;
Scannerb=newScanner(System.in);
输入一个整数"
result=b.nextInt();
intx=result;
它的质因数为"
while(result!
=0&
&
x/2){
if(result%i==0&
judge(i))
{result=result/i;
System.out.println(i);
i=2;
elsei++;
12.创建线程,线程休眠,线程启动
13.编程从Hello.txt中读取文本并显示在屏幕上。
publicclassprogram_13
{
publicstaticvoidmain(String[]args)throwsIOException
FileInputStreams=newFileInputStream(“c:
/Hello.txt”);
Inte;
while((c=s.read())!
=-1)System.out.write(c);
s.close();
二、程序分析
1.写出下面程序的运行结果。
publicclassA{
privateintx=50;
publicvoidsetX(intx){
this.x=x+50;
publicintgetX(){
returnx;
}
publicclassTester{
publicstaticvoidmethod1(Aa){
a.setX(100);
publicstaticvoidmethod2(intx){
x=50;
publicstaticvoidmain(String[]args){
Aa=newA();
method1(a);
System.out.println(a.getX());
intn=10;
method2(n);
System.out.println(n);
150
10
2.写出下面程序的运行结果。
importjava.util.*;
publicclassEx2{
VectormyList=newVector();
myList.add("
C++"
Java"
C#"
myList.set(2,"
Oracle"
myList.remove(0);
System.out.println(myList.get(0));
Hashtableht=newHashtable();
ht.put("
key"
"
Iteratorits=ht.values().iterator();
while(its.hasNext()){
System.out.println(its.next());
Oracle
C#
3.写出下面程序的运行结果。
publicclassArrayTester{
publicstaticvoidmain(String[]args){
int[]arrays1={1,3,5,7};
int[]arrays2={2,4,6,8};
int[]arrays3=newint[4];
arrays2=arrays3;
arrays3.length;
arrays3[i]=arrays1[i];
arrays2.length;
System.out.println(arrays2[i]);
1
3
5
7
//(结果不是0000)
4.写出下面程序的运行结果。
classAAA
{intadd(intx,inty)
{returnx+y;
classBBBextendsAAA
{returnx-y;
publicclassExam8
{publicstaticvoidmain(Stringargs[])
{AAAa=newAAA();
System.out.println(a.add(66,44));
a=newBBB();
110
22
5.写出下面程序的运行结果。
publicclassExam9extendsTT
{
publicstaticvoidmain(Stringargs[])
{
Exam9t=newExam9("
Jack."
publicExam9(Strings)
super(s);
System.out.print("
Howareyou?
publicExam9()
this("
IamTom."
classTT
publicTT()
Hi!
publicTT(Strings)
this();
Iam"
+s);
IamJack.Howareyou?
6.写出下面程序的运行结果。
publicclassExam10
Stringstr=newString("
good"
char[]ch={'
a'
'
b'
c'
};
publicstaticvoidmain(Stringargs[]){
Exam10ex=newExam10();
ex.change(ex.str,ex.ch);
System.out.println(ex.str+"
and"
System.out.println(ex.ch);
publicvoidchange(Stringstr,charch[]){
str="
testok"
ch[0]='
g'
}
goodand
gbc
7.指出下列程序运行的结果。
classEmployee{
staticvoidexpenseAllowance(){
System.out.println("
inclassEmployee!
classManagerextendsEmployee{
inclassManager!
classex{
publicstaticvoidmain(Stringargs[]){
Managerman=newManager();
Employeeemp1=newEmployee();
Employeeemp2=(Employee)man;
man.expenseAllowance();
emp1.expenseAllowance();
emp2.expenseAllowance();
8.指出下列程序运行的结果。
voiddepoit(){
man.depoit();
emp1.depoit();
emp2.depoit();
9.通过命令行输入两个整数2和3,编程输出显示两个整数的积。
publicclassMutil{
publicdoublemutil(doublex,doubley){
returnx*y;
doublex;
doubley;
Scannerb=newScanner(System.in);
Scannerc=newScanner(System.in);
输入一个数"
x=b.nextDouble();
输入第二个数"
y=c.nextDouble();
MutilA=newMutil();
System.out.println(x+"
*"
+y+"
="
+A.mutil(x,y));
10.子类调用父类构造方法。
11.字符串与字符数组。
publiccl