javaWord格式.docx
《javaWord格式.docx》由会员分享,可在线阅读,更多相关《javaWord格式.docx(17页珍藏版)》请在冰豆网上搜索。
+(s+i));
4.当从命令提示符输入数字1~12时,按照如下格式输出:
请输入月份:
5month=5,该月有31天
importjava.util.Scanner;
publicclassmonth
{publicstaticvoidmain(Stringargs[])
{Scannersc=newScanner(System.in);
inti=sc.nextInt();
\n"
if(i>
12||i<
1)System.out.println("
输入信息有误!
else
{switch(i)
{case1:
case3:
case5:
case7:
case8:
case10:
case12:
System.out.println("
month="
+i+"
该月有31天"
break;
case4:
case6:
case9:
case11:
该月有30天"
case2:
该月有28天"
}
}}}
5.求一组数中的最大值和最小值。
importjava.util.Random;
publicclasscompare
{publicstaticint[]random(intn)
{inttable[]=newint[n];
for(inti=0;
table.length;
i++)
table[i]=(int)(Math.random()*100);
returntable;
publicstaticvoidprint(inttable[])
{for(inti=0;
"
+table[i]);
System.out.println();
publicstaticvoidcompare(inttable[])
{intmax,min;
max=table[0];
min=table[0];
inttemp[]=newint[2];
for(inti=1;
{if(max<
table[i])max=table[i];
{if(min>
table[i])min=table[i];
temp[0]=max;
temp[1]=min;
}
System.out.println("
max="
+temp[0]);
min="
+temp[1]);
publicstaticvoidmain(Stringargs[])
{intb[]=random(10);
System.out.print("
table:
print(b);
compare(b);
print(compare(b));
6.找出两个字符串中所有共同的字符。
publicclassstringTest{
publicstaticvoidmain(Stringargs[])
{Stringstr="
Ilikejavaprogramming,javaisgood"
;
inti1=str.indexOf('
j'
Strings1=str.substring(i1);
Strings2=str.substring(i1,i1+4);
inti2=str.lastIndexOf('
Strings3=str.substring(i2+5);
s1="
+s1);
s2="
+s2);
s3="
+s3);
7.运行下面的程序,理解String类常用方法的使用。
publicclassstringTest
{publicstaticvoidmain(Stringargs[]){
Stringstr="
}}
8.设计银行账户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等账户信息,成员方法包括存款、取款等操作。
publicclassbank
{intnumber,id;
intyear,month,day;
floatmoney;
Stringname;
voidset(inty,intm,intd)
{year=y;
month=m;
day=d;
publicStringtoString()
{returnyear+"
年"
+month+"
月"
+day+"
日"
publicfloatmoney1(intn)
{money=money+n;
returnmoney;
publicfloatmoney2(intx)
{if(money<
x)return0;
money=money-x;
{bankb=newbank();
b.set(2009,8,6);
b.money=0;
b.number=1;
b.id=20102;
b.name="
张三"
System.out.println("
用户名:
+b.name);
身份证号:
+b.id);
开户日期是:
+b.toString());
请输入存入的数额:
Scannersc=newScanner(System.in);
b.money1(i);
账户余额:
+b.money);
System.out.println();
请输入取款余额:
Scannercc=newScanner(System.in);
intj=cc.nextInt();
b.money2(j);
9.书名:
《****》作者:
***月销售量:
**本
publicclassbook
{Stringname,autor;
intnumber;
publicbook()
{name="
骆驼祥子"
autor="
老舍"
number=200154;
publicbook(Stringstr1,Stringstr2,inti)
{name=str1;
autor=str2;
number=i;
publicvoidsetBook(Stringstr1,Stringstr2,inti)
{this.name=str1;
this.autor=str2;
this.number=i;
publicvoidprintBook(bookb)
{System.out.println("
书名:
《"
+b.name+"
》"
作者:
+b.autor);
月销售量"
+b.number+"
本"
{bookd=newbook();
d.printBook(d);
booke=newbook("
童年"
"
高尔基"
20156);
e.printBook(e);
bookf=newbook();
f.setBook("
在人间"
20546);
f.printBook(f);
}
10.设计一个抽象类Graphics(图形类),包含私有成员变量shape(形状)、带参数的构造方法(确定该图形是什么形状)、用于计算面积的抽象方法area()、用于显示面积的成员方法print()。
设计两个Graphics类的子类:
Rectangle类(矩形)和Circle类(圆),编译并运行使程序运行结果如下所示:
矩形的面积为:
100.0圆的面积为:
314.159********93
publicabstractclassGraphics
{privateStringshape;
protectedGraphics(Stringshape)
{this.shape=shape;
publicabstractdoublearea();
publicvoidprint()
{System.out.println(this.shape+"
的面积是:
+this.area());
{Graphicsr=newRectangle(5,20);
r.print();
r=newCircle(10);
classRectangleextendsGraphics
{protecteddoublelength;
protecteddoublewidth;
publicRectangle(doublelength,doublewidth)
{super("
矩形"
this.length=length;
this.width=width;
publicRectangle()
{this(0,0);
publicdoublearea()
{returnthis.width*this.length;
classCircleextendsGraphics
{protecteddoubleradius;
publicCircle(doubleradius)
{super("
圆"
this.radius=radius;
publicCircle()
{this(0);
publicdoublearea()
{returnMath.PI*this.radius*this.radius;
11.定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后分别设计MyCircle和MyRectangle两个类都实现这个接口中的方法calcualteArea(),分别计算圆的面积和矩形的面积。
interfaceArea
{publicabstractdoublecalculateArea();
classMyRectangleimplementsArea
publicMyRectangle(doublelength,doublewidth)
{this.length=length;
this.width=width;
publicdoublecalculateArea()
{returnthis.width*this.length;
publicMyRectangle()
{this(0,0);
publicStringtoString()
{return"
一个矩形,长度"
+length+"
宽度"
+width+"
面积为"
+calculateArea();
classMyCircleimplementsArea
{protecteddoubler;
publicMyCircle(doubler)
{this.r=r;
publicMyCircle()
{this(0);
{returnMath.PI*this.r*this.r;
圆,半径"
+r+"
publicclasstest1
{System.out.println(newMyRectangle(10,20).toString());
System.out.println(newMyCircle(10).toString());
14.重新编写实验四的程序,要求将Circle类和Rectangle类放到不同的包中,用包的技术组织程序的设计。
importcom.package1.*;
importcom.package2.*;
publicclassInterfaceArea
{publicstaticvoidmain(String[]args)
{MyRectanglea=newMyRectangle(30,10);
MyCircleb=newMyCircle(10);
System.out.println(a.calculateArea());
System.out.println(b.calculateArea());
}}
packagecom.package1;
interfaceArea
{publicabstractdoublecalculateArea();
publicclassMyRectangleimplementsArea
protecteddoublewidth;
publicMyRectangle(doublelength,doublewidth)
{this.length=length;
this.width=width;
publicdoublecalculateArea()
{returnthis.width*this.length;
packagecom.package2;
importcom.package2.Area;
publicclassMyCircleimplementsArea
publicMyCircle(doubleradius)
{this.radius=radius;
{returnMath.PI*radius*radius;
15.定义一个外部类Outer,包含属性姓名name和方法getInfo(),在getInfo()方法中包含两个属性年龄age和性别sex,并定义一个内部类Inner,在Inner内有sayHello()方法,在sayHello()方法中输出姓名、年龄和性别的信息。
publicclassOuter
{privateStringname="
Amumu"
privatevoidgetInfo()
{intage=23;
Stringsex="
男"
System.out.println(age);
System.out.println(sex);
classInner
{voidsayHello()
{System.out.println(name);
getInfo();
Innerinner1=newInner();
publicstaticvoidmain(String[]args)
{Outerout=newOuter();
out.inner1.sayHello();
16.在程序中主动产生一个ArithmeticException类型被0除的异常,并用catch语句捕获这个异常,最后调用ArithmeticException类的对象e的getMessage()方法显示出异常的具体类型。
publicclasserror
{try
{inta=0;
a=1/0;
catch(ArithmeticExceptione)
{System.out.println(e.getMessage());
17.编写一个自定义的异常类,包含一个product()方法(用于两个数相乘),如果product()方法中的两个参数的乘积小于0,则抛出一个自定义异常类的对象,输出错误信息和乘积的值。
另外要求product()方法要用throws关键字声明该方法要抛出自定义异常和算术异常。
publicclassMyErrorextendsException
{publicMyError(Strings)
{super(s);
publicMyError()
classError
{voidproduct()throwsMyError
{inta=-1;
intb=1;
intc=a*b;
if(c<
0)thrownewMyError("
乘积小于零"
+c);
{Erroree=newError();
try
{ee.product();
catch(MyErrore)
{System.out.println(e.toString());
18.该窗口模拟Windows的计算器功能,添加一个文本行和4个按钮,单击【1】、【2】、【+】按钮时,将按钮的标签添加到文本行中;
单击【C】按钮时,清空文本行中的内容;
单击窗口的关闭按钮,将关闭该窗口
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassQueryFrameextendsJFrameimplementsActionListener
{privateTextFieldtext_char;
privateButtonbutton1,button2,buttonAdd,buttonc;
privateStringstr="
publicQueryFrame()
calculator"
this.setBounds(280,100,300,240);
this.setBackground(java.awt.Color.lightGray);
this.setLayout(newjava.awt.FlowLayout(FlowLayout.LEFT));
text_char=newTextField("
10);
this.add(text_char);
button1=newButton("
1"
this.add(button1);
button1.addActionListener(this);
button2=newButton("
2"
this.add(button2);
button2.addActionListener(this);
buttonAdd=newButton("
this.add(buttonAdd);
buttonAdd.addActionListener(this);
butt