JAVA编程题全集100题及问题详解.docx

上传人:b****5 文档编号:5901957 上传时间:2023-01-02 格式:DOCX 页数:18 大小:23.92KB
下载 相关 举报
JAVA编程题全集100题及问题详解.docx_第1页
第1页 / 共18页
JAVA编程题全集100题及问题详解.docx_第2页
第2页 / 共18页
JAVA编程题全集100题及问题详解.docx_第3页
第3页 / 共18页
JAVA编程题全集100题及问题详解.docx_第4页
第4页 / 共18页
JAVA编程题全集100题及问题详解.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

JAVA编程题全集100题及问题详解.docx

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

JAVA编程题全集100题及问题详解.docx

JAVA编程题全集100题及问题详解

Java程序设计总复习题

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

(分支)

 

publicclassLeapYear{

publicstaticvoidmain(Stringargs[]){

intyear=2010;

if(args.length!

=0)

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

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

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

System.out.println(year+"年是闰年。

");

else

System.out.println(year+"年不是闰年。

");

}

}//if-else语句

 

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

+2!

+3!

+……+10!

的和。

〔循环〕

 

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;

}

System.out.println(“1!

+2!

+3!

+……+10!

=〞+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

System.out.print(array[i]+"\t");

}

System.out.println();

}

}

 

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

importjava.util.Scanner;

publicclassRegister{

Stringname;

Stringpassword;

StringnewPassword;

///////////

publicvoidnameExe(){

Scannerinput=newScanner(System.in);

System.out.println("请输入用户名,密码和验证密码");

System.out.print("用户名:

");

name=input.next();

System.out.print("密码:

");

password=input.next();

System.out.print("验证密码:

");

newPassword=input.next();

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

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

if(name.length()<3){

System.out.println("用户名不能小于3");

}

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

System.out.println("两次输入密码不一样或密码不能小于6位");

}

System.out.println("\n"+"请重新输入");

System.out.print("用户名:

");

name=input.next();

System.out.print("密码:

");

password=input.next();

System.out.print("验证密码:

");

newPassword=input.next();

}

System.out.println("注册成功!

");

}

}

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;

System.out.println("门票价格:

"+ticketPrice);

}

}/////

importjava.util.Scanner;

publicclassTest{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

Touristt1=newTourist();

System.out.print("请输入年龄:

");

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()//将圆柱体的体积输出到屏幕

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

//ProgrammeName

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

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

Circle(){//构造方法

radius=0.0;

}

Circle(doubler){//构造方法

radius=r;

}

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

return2*Math.PI*radius;

}

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

returnMath.PI*radius*radius;

}

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

System.out.println("圆半径="+radius);

System.out.println("圆周长="+getPerimeter());

System.out.println("圆面积="+getArea());

}

}

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

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

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

super(r);

hight=h;

}

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

returngetArea()*hight;

}

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

System.out.println("圆柱体积="+getVol());

}

}

publicclassTestCylinder{//定义主类

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

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

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

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

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

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

}

}

 

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

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

〔异常处理〕

//programme

importjava.io.*;

publicclassStrinput

{

publicstaticvoidmain(Stringargs[]){

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

inti1,i2;

floatf1,f2;

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

try{System.out.print("输入第一个字符串:

");

s1=strin.readLine();

System.out.print("输入第二个字符串:

");

s2=strin.readLine();}

catch(Exceptione){System.out.println(e.getMessage());}

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);

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

"+ss);

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

"+si);

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

"+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〕

 

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);

System.out.println(str);

}catch(Exceptione){

e.printStackTrace();

}

}

 

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

〔文件〕

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--){

System.out.print(""+t[i]);

}

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

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

System.out.print(""+t);

}*/

System.out.println();

in.close();

}catch(IOExceptione)

{

System.out.println(e.getMessage());}

}

}

 

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

//programmenameTestThread;

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

classThreadDemoextendsThread{

publicThreadDemo(Stringstr){

super(str);

}

publicvoidrun(){

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

System.out.print(“〞+this.getName());

Try{

Sleep(300);

}catch(InterruptedExceptione){

System.out.println(e.getMessage());

Return;

}

}

System.out.println(“/end〞);

}

}

publicclassTestThread{

publicstaticvoidmain(Stringargs[]){

ThreadDemothread1=newThreadDemo(“T1〞);

ThreadDemothread2=newThreadDemo(“T2〞);

ThreadDemothread3=newThreadDemo(“T3〞);

thread1.start();

thread2.start();

thread3.start();

}

}

 

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

当用户单击按钮时,完毕程序。

〔窗体编程〕

 

importjavax.swing.*;

importjava.awt.event.*;

publicclassButtonEventDemoextendsJPanelimplementsActionListener{

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

publicButtonEventDemo(){//构造方法

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

b1=newutton("退出按钮",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〔〕列入线程

javax.swing.SwingUtilities.invokeLater(newRunnable(){

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","X三","男",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;

System.out.println("学生信息:

");

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;

Syste

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

当前位置:首页 > 幼儿教育 > 家庭教育

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

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