JAVA编程题全集100题及答案w.docx

上传人:b****7 文档编号:23316077 上传时间:2023-05-16 格式:DOCX 页数:17 大小:20.33KB
下载 相关 举报
JAVA编程题全集100题及答案w.docx_第1页
第1页 / 共17页
JAVA编程题全集100题及答案w.docx_第2页
第2页 / 共17页
JAVA编程题全集100题及答案w.docx_第3页
第3页 / 共17页
JAVA编程题全集100题及答案w.docx_第4页
第4页 / 共17页
JAVA编程题全集100题及答案w.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

JAVA编程题全集100题及答案w.docx

《JAVA编程题全集100题及答案w.docx》由会员分享,可在线阅读,更多相关《JAVA编程题全集100题及答案w.docx(17页珍藏版)》请在冰豆网上搜索。

JAVA编程题全集100题及答案w.docx

JAVA编程题全集100题及答案w

Java程序设计总复习题

1、编写一个Java程序,用if-else语句判断某年份是否为闰年。

(分支)

//ProgrammeNameLeapYear.java

publicclassLeapYear{

publicstaticvoidmain(Stringargs[]){

intyear=2010;

if(args.length!

=0)

year=Integer.parseInt(args[0]);

if((year%4==0&&year%100!

=0)||(year%400==0))

"年是闰年。

");

else

"年不是闰年。

");

}

}//if-else语句

2、编写一个Java程序在屏幕上输出1!

+2!

+3!

+……+10!

的和。

(循环)

//programmenameForTest.java

publicclassForTest{

publicstaticvoidmain(Stringargs[]){

inti,j,mul,sum=0;

for(i=1;i<=10;i++){

mul=1;

for(j=1,j<=i;j++){

mul=mul*j;

}

sum=sum+mul;

}

”+sum);

}

}

3、依次输入10个学生成绩,判断学生(优秀、良好、中等、及格、不及格)并计算人数(switch)

4、使用冒泡排序(数组)

publicclassBubbleSort{

publicstaticvoidmain(String[]args){

int[]array={63,4,24,1,3,5};

BubbleSortsorter=newBubbleSort();

sorter.sort(array);

}

//冒泡排序

publicvoidsort(int[]array){

for(inti=1;i

for(intj=0;j

if(array[j]>array[j+1]){

inttemp=array[j];

array[j]=array[j+1];

array[j+1]=temp;

}

}

showArray(array);

}

//遍历数组,并输出数组的元素。

publicvoidshowArray(int[]array){

for(inti=0;i

"\t");

}

;

}

}

5、实现会员注册,要求用户名长度不小于3,密码长度不小于6,注册时两次输入密码必须相同(字符串)

import;

publicclassRegister{

Stringname;

Stringpassword;

StringnewPassword;

///////////

publicvoidnameExe(){

Scannerinput=newScanner(System.in);

"请输入用户名,密码和验证密码");

"用户名:

");

name=input.next();

"密码:

");

password=input.next();

"验证密码:

");

newPassword=input.next();

while(name.length()<3||(password.equals(newPassword)==false)

||(password.length()<6)){

if(name.length()<3){

"用户名不能小于3");

}

if((password.equals(newPassword)==false)||password.length()<6){

"两次输入密码不一样或密码不能小于6位");

}

"\n"+"请重新输入");

"用户名:

");

name=input.next();

"密码:

");

password=input.next();

"验证密码:

");

newPassword=input.next();

}

"注册成功!

");

}

}

publicclassVerify{

publicstaticvoidmain(String[]args){

Registerm1=newRegister();

m1.nameExe();

}

}

6、一个景区根据游人的年龄收取不同价格的门票。

请编写游人类,根据年龄段决定能够购买的门票价格并输出,然后写出测试类测试该类(类的基本实现)

publicclassTourist{

intage;

intticketPrice;

publicvoidsetAge(intage){

this.age=age;

}

publicvoidticket(){

if(age>0&&age<12)

ticketPrice=20;

elseif(age<20)

ticketPrice=40;

elseif(age<50)

ticketPrice=80;

else

ticketPrice=35;

"门票价格:

"+ticketPrice);

}

}/////

import;

publicclassTest{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

Touristt1=newTourist();

"请输入年龄:

");

t1.setAge(input.nextInt());

t1.ticket();

}

}

7、

(1)编写一个圆类Circle,该类拥有:

①一个成员变量

Radius(私有,浮点型);//存放圆的半径;

②两个构造方法

Circle()//将半径设为0

Circle(doubler)//创建Circle对象时将半径初始化为r

③三个成员方法

doublegetArea()//获取圆的面积

doublegetPerimeter()//获取圆的周长

voidshow()//将圆的半径、周长、面积输出到屏幕

(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。

还拥有:

①一个成员变量

doublehight(私有,浮点型);//圆柱体的高;

②构造方法

Cylinder(doubler,doubleh)//创建Circle对象时将半径初始化为r

③成员方法

doublegetVolume()//获取圆柱体的体积

voidshowVolume()//将圆柱体的体积输出到屏幕

编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。

//ProgrammeNameTestCylinder.java

classCircle{//定义父类--园类

privatedoubleradius;//成员变量--园半径

Circle(){//构造方法

radius=0.0;

}

Circle(doubler){//构造方法

radius=r;

}

doublegetPerimeter(){//成员方法--求园周长

return2*Math.PI*radius;

}

doublegetArea(){//成员方法--求园面积

returnMath.PI*radius*radius;

}

voiddisp(){//成员方法--显示园半径、周长、面积

"圆半径="+radius);

"圆周长="+getPerimeter());

"圆面积="+getArea());

}

}

classCylinderextendsCircle{//定义子类--圆柱类

privatedoublehight;//成员变量--园柱高

Cylinder(doubler,doubleh){//构造方法

super(r);

hight=h;

}

publicdoublegetVol(){//成员方法--求园柱体积

returngetArea()*hight;

}

publicvoiddispVol(){//成员方法--显示园柱体积

"圆柱体积="+getVol());

}

}

publicclassTestCylinder{//定义主类

publicstaticvoidmain(String[]args){//主程入口

CircleCi=newCircle(10.0);//生成园类实例

Ci.disp();//调用园类的方法

CylinderCyl=newCylinder(5.0,10.0);//生成圆柱类实例

Cyl.disp();//调用父类方法

Cyl.dispVol();//调用子类方法

}

}

8、编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。

要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。

(异常处理)

//programmenameStrinput.java

importjava.io.*;

publicclassStrinput

{

publicstaticvoidmain(Stringargs[]){

Strings1=null,s2=null,ss,si,sf;

inti1,i2;

floatf1,f2;

BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));

try{("输入第一个字符串:

");

s1=strin.readLine();

("输入第二个字符串:

");

s2=strin.readLine();}

catch(Exceptione){;}

i1=Integer.parseInt(s1);

i2=Integer.parseInt(s2);

f1=Float.parseFloat(s1);

f2=Float.parseFloat(s2);

ss=strAdd(s1,s2);

si=strAdd(i1,i2);

sf=strAdd(f1,f2);

("输入的二个字符串相加结果为:

"+ss);

("输入字符串转换为整数相加结果为:

"+si);

("输入字符串转换为浮点数相加结果为:

"+sf);

}

staticStringstrAdd(Stringstr1,Stringstr2){

returnstr1+str2;

}

staticStringstrAdd(intint1,intint2){

returnString.valueOf(int1+int2);

}

staticStringstrAdd(floatflt1,floatflt2){

returnString.valueOf(flt1+flt2);

}

}

9、应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。

(被读取的文件路径为:

E:

/myjava/Hello.java)

//ProgrammeNameFISDemo.java

importjava.io.*;

publicclassFISDemo{

publicstaticvoidmain(Stringargs[]){

byte[]buf=newbyte[2056];

try{

FileInputStreamfileIn=newFileInputStream("e:

/myjava/Hello.java");

intbytes=fileIn.read(buf,0,2056);

Stringstr=newString(buf,0,bytes);

;

}catch(Exceptione){

e.printStackTrace();

}

}

10、编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。

(文件)

importjava.io.*;

publicclassIODemo{

publicstaticvoidmain(Stringargs[]){

intdata[]={100,101,102,103,104,105};

int[]t=newint[200];

try{

//Filefile=newFile("dest.txt");

DataOutputStreamout=newDataOutputStream(newFileOutputStream("dest.txt"));

for(inti=0;i

out.writeInt(data[i]);

out.close();

DataInputStreamin=newDataInputStream(newFileInputStream("dest.txt"));

//先读出来再倒序输出

for(inti=0;i

t[i]=in.readInt();

}

for(inti=data.length-1;i>=0;i--){

""+t[i]);

}

/*for(inti=data.length-1;i>=0;i--){

t=in.readInt(data[i]);

""+t);

}*/

);

in.close();

}catch(IOExceptione)

{

;}

}

}

11、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。

//programmenameTestThread;

//声明一个子线程类Threaddemo;

classThreadDemoextendsThread{

publicThreadDemo(Stringstr){

super(str);

}

publicvoidrun(){

for(inti=0;i<20;i++){

”+this.getName());

Try{

Sleep(300);

}catch(InterruptedExceptione){

;

Return;

}

}

/end”);

}

}

publicclassTestThread{

publicstaticvoidmain(Stringargs[]){

ThreadDemothread1=newThreadDemo(“T1”);

ThreadDemothread2=newThreadDemo(“T2”);

ThreadDemothread3=newThreadDemo(“T3”);

thread1.start();

thread2.start();

thread3.start();

}

}

10.编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。

当用户单击按钮时,结束程序。

(窗体编程)

//ProgrammeNameButtonEventDemo.java

importjavax.swing.*;

import;

publicclassButtonEventDemoextendsJPanelimplementsActionListener{

protectedJButtonb1;//声明一个按钮对象

publicButtonEventDemo(){//构造方法

ImageIconButtonIcon=newImageIcon("images/green.png");//创建按钮的图标对象

b1=newJButton("退出按钮",ButtonIcon);//生成按钮对象

b1.setMnemonic(KeyEvent.VK_E);//设置b1的助记符是Alt+E

b1.setToolTipText("这是退出按钮。

");//设置按钮提示条

this.add(b1);//往面板对象中加载按钮

b1.addActionListener(this);//本类对象注册为按钮的事件监听器

}

publicvoidactionPerformed(ActionEvente){//按钮事件响应方法

System.exit(0);//按b1则退出主程序

}

privatestaticvoidcreateGUI(){//创建窗体

JFrame.setDefaultLookAndFeelDecorated(true);//设置java隐含观感

JFrameframe=newJFrame("按钮测试");//生成应用程序主窗体

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭时隐含操作

ButtonEventDemoCPane=newButtonEventDemo();//生成主类对象--面板

CPane.setOpaque(true);//面板要求不透明

frame.setContentPane(CPane);//设置主类对象为主窗体的内容面板

frame.pack();//主窗体紧缩显示

frame.setVisible(true);//设置主窗体可见

}

publicstaticvoidmain(String[]args){//将createGUI()列入线程

Runnable(){

publicvoidrun(){

createGUI();

}

});

}

}

12、定义一个表示学生信息的类Student,要求如下:

(有关类的编程)

 

(1)类Student的成员变量:

sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:

表示Java课程成绩。

 

(2)类Student带参数的构造方法:

在构造方法中通过形参完成对成员变量的赋值操作。

(3)类Student的方法成员:

getNo():

获得学号;

getName():

获得姓名;

getSex():

获得性别;

getAge()获得年龄;

getJava():

获得Java课程成绩

(4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

//PragrammenameStudent;

publicclassStudent{

StringsNO,sName,sSex;

intsAge,sJava;

publicStudent(StringXH,StringXM,StringXB,intNL,intXF){

super();

sNO=XH;

sName=XM;

sSex=XB;

sAge=NL;

sJava=XF;

}

publicStringgetNO(){

returnsNO;

}

publicStringgetName(){

returnsName;

}

publicStringgetSex(){

returnsSex;

}

publicintgetAge(){

returnsAge;

}

publicintgetJava(){

returnsJava;

}

publicstaticvoidmain(String[]args){

Student[]st=newStudent[5];

st[0]=newStudent("09zc01","张三","男",19,94);

st[1]=newStudent("09zc02","李四","男",20,85);

st[2]=newStudent("09zc03","王五","女",18,96);

st[3]=newStudent("09zc04","赵六","男",17,90);

st[4]=newStudent("09zc05","杨七","女",21,88);

intmax=0,min=100,sum=0;

"学生信息:

");

for(inti=0;i

if(st[i].sJava

min=st[i].sJava;

if(st[i].sJava>max)

max=st[i].sJava;

sum=sum+st[i].sJava;

"学生编号:

"+st[i].getNO()+",姓名:

"+st[i].getName()+",性别:

"+st[i].getSex()+",年龄:

"+st[i].getAge()+",Java课学分:

"+st[i].getJava());

}

;

"共有学生:

"+st.length+",平均成绩:

"+sum/st.length);

"最小学分:

"+min+",最大学分:

"+max);

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1