java实验.docx
《java实验.docx》由会员分享,可在线阅读,更多相关《java实验.docx(26页珍藏版)》请在冰豆网上搜索。
java实验
二.1)使用continue语句实现:
将100~300之间的不能被3整除的数输出。
publicclasszhengchu{
publicstaticvoidmain(String[]args){
for(inti=100;i<=300;i++){
if(i%3==0)continue;
System.out.println(i);
}
}
}
2)使用break语句实现记数:
从1~100,当数到78时程序终止。
publicclassBreakTest
{
publicstaticvoidmain(String[]args)
{
inti;
for(i=1;i<=100;++i){
System.out.println(i);
if(i==78)break;
}
}
}
3)分别使用for语句编程,找出所有的水仙花数并输出。
publicclassshuixianhua
{
publicstaticvoidmain(String[]args){
for(inti=1;i<=9;i++)
for(intj=0;j<=9;j++)
for(intk=0;k<=9;k++)
if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)
System.out.print(i*100+j*10+k+"");
}
}
4)编写一程序,判断2011年份是否是闰年,并在屏幕上输出判断结果。
publicclasszhengchu{
publicstaticvoidmain(String[]args){
if(2011%4!
=0)System.out.print("No");
elseif(2011%400!
=0&&2011%100==0)System.out.print("No");
elseSystem.out.print("Yes");
}
}
三.1)定义一个类MyValue,其中包括:
用Value来保存一属性值;方法setValue设置Value,方法getValue获取Value,
定义一个类UseValue,在该类的Main方法里面完成如下功能:
创建一个MyValue类的对象MyValue;为MyValue对象中的Value赋值10;使用getValue方法获得MyValue对象中的数据并在屏幕上输出。
classMyValue{
privateintvalue;
publicvoidsetvalue(intx){
value=x;
}
publicintgetValue(){
returnvalue;
}
}
publicclassUseValue{
publicstaticvoidmain(Stringargs[]){
MyValueMyV=newMyValue();
MyV.setvalue(10);
System.out.println(MyV.getValue());
}
}
2)编写Java代码实现一个计数器类Computer,其中包括:
用CountValue来保存计数器的当前值。
方法Computer(inta)是构造方法并给CountValue赋初值。
方法increment()计数器加一
方法decrement()计数器减一
方法reset()计数器清零
使用计数器类创建一对象,该计数器对象当前值为10,调用三次increment(),输出计数器当前值,调用一次decrement(),输出计数器当前值,调用reset(),输出计数器当前值.
publicclassComputer{
publicintCountValue;
Computer(inta){
CountValue=a;
}
publicvoidincrement(){
CountValue++;
}
publicvoiddecrement(){
CountValue--;
}
publicvoidreset(){
CountValue=0;
}
publicstaticvoidmain(Stringargs[]){
ComputerMyV=newComputer(10);
MyV.increment();
MyV.increment();
MyV.increment();
System.out.println(MyV.CountValue);
MyV.decrement();
System.out.println(MyV.CountValue);
MyV.reset();
System.out.println(MyV.CountValue);
}
}
3)定义一个名字为MyRectangle的矩形类,类中有4个私有的整型成员变量,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义了无参数的构造方法和有4个int参数的构造方法,用来初始化类对象。
类中还有以下方法:
getW()-计算矩形的宽度;
getH()-计算矩形的高度;
area()-计算矩形的面积;
toString()-把矩形的宽、高和面积等信息作为一个字符串返回。
编写应用程序使用MyRectangle类。
classMyRectangle{
privateintxUp,yUp,xDown,yDown;
MyRectangle(){
xUp=0;yUp=0;xDown=0;yDown=0;
}
MyRectangle(intx1,inty1,intx2,inty2){
xUp=x1;yUp=y1;xDown=x2;yDown=y2;
}
publicintgetW(){
returnxDown-xUp;
}
publicintgetH(){
returnyDown-yUp;
}
publicintarea(){
returngetW()*getH();
}
publicStringtoString(){
return"矩形宽:
"+getW()+"矩形高:
"+getH()+"矩形面积:
"+area();
}
}
publicclasstest
{
publicstaticvoidmain(Stringargs[]){
MyRectanglerectangle=newMyRectangle(1,2,7,8);
System.out.println(rectangle.toString());
}
}
1)定义一个接口,接口中有四个抽象方法:
求面积方法、求周长方法、显示面积方法及显示周长方法。
定义Circle类和Rectangle类分别实现接口,在主类中实现显示圆和矩形的面积和周长。
interfaceJ_Shape{
publicabstractdoublemb_getArea();
publicabstractdoublemb_getPerimeter();
}
publicclassJ_CircleimplementsJ_Shape{
publicdoublem_radius;
publicJ_Circle(doubler)
{
m_radius=r;
}
publicdoublemb_getArea()
{
return(Math.PI*m_radius*m_radius);
}
publicdoublemb_getPerimeter()
{
return(Math.PI*2*m_radius);
}
publicstaticvoidmain(Stringargs[])
{
J_Shapea=newJ_Circle(5);
System.out.println("theareaofcircleis:
"+a.mb_getArea());
System.out.println("theperimeterofcircleis"+a.mb_getPerimeter());
}
}
interfaceJ_Shape{
publicabstractdoublemb_getArea();
publicabstractdoublemb_getPerimeter();
}
publicclassRectangleimplementsJ_Shape{
publicdoublelongs,wides;
publicRectangle(doublel,doublew)
{
longs=l;
wides=w;
}
publicdoublemb_getArea(){
return(longs*wides);
}
publicdoublemb_getPerimeter(){
return(2*(longs+wides));
}
publicstaticvoidmain(Stringargs[])
{
J_Shapea=newRectangle(2,3);
System.out.println("theareaofrectangleis:
"+a.mb_getArea());
System.out.println("theperimeterofrectangleis:
"+a.mb_getPerimeter());
}
}
2)重写上面的程序,要求矩型,圆的类放到不同的包中,用包的技术组织程序的设计。
同时要求程序能从键盘上接受数据以便求解不同的几何图形的周长面积。
提示:
从键盘上输入双精度数的一种方法(程序片段)
packageMytest;
interfaceJ_Shape{
publicabstractdoublemb_getArea();
publicabstractdoublemb_getPerimeter();
}
publicclassJ_CircleimplementsJ_Shape{
publicdoublem_radius;
publicJ_Circle(doubler)
{
m_radius=r;
}
publicdoublemb_getArea()
{
return(Math.PI*m_radius*m_radius);
}
publicdoublemb_getPerimeter()
{
return(Math.PI*2*m_radius);
}
}
packageMypackage;
interfaceJ_Shape{
publicabstractdoublemb_getArea();
publicabstractdoublemb_getPerimeter();
}
publicclassRectangleimplementsJ_Shape{
publicdoublelongs,wides;
publicRectangle(doublel,doublew)
{
longs=l;
wides=w;
}
publicdoublemb_getArea(){
return(longs*wides);
}
publicdoublemb_getPerimeter(){
return(2*(longs+wides));
}
}
importMypackage.Rectangle;
importMytest.J_Circle;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassJ_test{
publicstaticvoidmain(Stringargs[])throwsIOException
{
BufferedReaderinput=newBufferedReader(newInputStreamReader(System.in));
System.out.print("请输入圆半径:
:
");
intnumber=Integer.parseInt(input.readLine());
J_Circlea=newJ_Circle(number);
System.out.println("theareaofcircleis:
"+a.mb_getArea());
System.out.println("theperimeterofcircleis:
"+a.mb_getPerimeter());
BufferedReaderinput1=newBufferedReader(newInputStreamReader(System.in));
System.out.print("请输入长方的一边:
");
intnumber1=Integer.parseInt(input.readLine());
System.out.print("请输入长方的另一边:
");
intnumber2=Integer.parseInt(input1.readLine());
Rectangleb=newRectangle(number1,number2);
System.out.println("theareaofrectangleis:
"+b.mb_getArea());
System.out.println("theperimeterofrectangleis:
"+b.mb_getPerimeter());
}
}
1、编写一程序,随机生成5个不大于100的整数存入一数组,计算该数组的平均值,输出该5个整数及平均值。
publicclassAverage
{
publicstaticvoidmain(String[]args)
{
intintNumber[];
inti;
intNumber=newint[5];
for(i=0;i{
intNumber[i]=(int)(Math.random()*100);
System.out.print(intNumber[i]+"");
}
System.out.println("\nTheAverageis:
"+GetAverage(intNumber));
}
staticdoubleGetAverage(intintNumber[])
{
inti,intTotal=0;
doubledblResult;
for(i=0;i{
intTotal=intTotal+intNumber[i];
}
dblResult=(double)intTotal/intNumber.length;
return(dblResult);
}
}
2、编写一程序,该程序输入一个字符串参数,返回该字符串的反序字符串.
importjava.io.*;
publicclassJ_Test3
{
publicstaticvoidmain(Stringargs[])throwsIOException
{
BufferedReaderkeyin=newBufferedReader(newInputStreamReader(System.in));
Strings;
s=keyin.readLine();
intj=s.length();
StringBufferbuffer=newStringBuffer(j);
for(intk=j-1;k>=0;k--)
{
buffer.append(s.charAt(k));
}
System.out.println("原来为"+s);
System.out.println("现在为"+buffer);
}
}
3、编写一程序,计算矩阵A={{7,9,4},{5,6,8}}与矩阵B={{9,5,2,8},{5,9,7,2},{4,7,5,8}}相乘,把结果存入矩阵C,并在屏幕输出结果。
publicclassMatrixMultiply
{
publicstaticvoidmain(Stringargs[])
{
intintMatrixA[][]={{7,9,4},{5,6,8}};
intintMatrixB[][]={{9,5,2,8},{5,9,7,2},{4,7,5,8}};
intintMatrixC[][]=newint[2][4];
Multiply(intMatrixA,intMatrixB,intMatrixC);
System.out.println("\n***MatrixA***");
OutputMatrix(intMatrixA);
System.out.println("\n***MatrixB***");
OutputMatrix(intMatrixB);
System.out.println("\n***MatrixC***");
OutputMatrix(intMatrixC);
}
staticvoidMultiply(intintMatrixA[][],intintMatrixB[][],intintMatrixC[][])
{
inti,j,k;
for(i=0;i{
for(j=0;j{
intMatrixC[i][j]=0;
for(k=0;kintMatrixC[i][j]+=intMatrixA[i][k]*intMatrixB[k][j];
}
}
}
staticvoidOutputMatrix(intintMatrix[][]){
inti,j;
for(i=0;i{
for(j=0;j{
System.out.print(intMatrix[i][j]+"");
}
System.out.println();
}
}
}
1、编写程序,该程序将整型变量n=20、实型变量b=3.14和字符型变量c=’a’显示在屏幕上。
publicclassWelcome
{
publicstaticvoidmain(String[]args)
{
intn;
n=3;
System.out.println(n);
floatb;
b=3.14f;
System.out.println(b);
charc;
c='a';
System.out.println(c);
}
}2、编写程序,该程序实现打开一个文本文件,每次读取一行内容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上。
importjava.io.*;
publicclassPrintlnt{
publicstaticvoidmain(Stringargs[])throwsIOException{
FilefilePath=newFile("D:
\\123.txt");
BufferedReaderbr;
Strings=null;
try{
br=newBufferedReader(newFileReader(filePath));
while((s=br.readLine())!
=null){
System.out.println(s+"\r\n");
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
}
}
3、编写一个程序,在控制台中窗口中提示输入两个整数,然后接收这两个整数,并输出它们的和。
下面是运行过程的示例:
请输入第一个整数:
45
请输入第二个整数:
23
计算结果:
45+23=68
上面的两个黑斜体整数是用键盘输入的,其余字符是程序输出的。
importjava.util.Scanner;
publicclassPrintInt{
publicstaticvoidmain(String[]args){
Stringa,b;
Scannerscan=newScanner(System.in);
System.out.print("输入第一个整数:
");
a=scan.next();
System.out.print("输入第二个整数:
");
b=scan.next();
try{
intc=(Integer.parseInt(a));
intd=(Integer.parseInt(b));
inte;
e=c+d;
System.out.println("计算结果:
"+c+"+"+d+"="+e);
}catch(NumberFormatExceptione){
System.out.println("请输入整数!
");
1)运用布局管理器,