JAVA复习精华
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实例化一个对象的另外一种办法:Class.forName(str).newInstance();例如需要实例化一个Plane 对象的话,则只要调用Class.forName("Plane").newInstance()便可。 答:
ComputerTime.java 源程序: import pkg1.pkg2.*; import java.lang.*; public class ComputerTime { public static void main(String args[]) { System.out.println("交通工具: "+args[0]); System.out.println(" 参数A: "+args[1]); System.out.println(" 参数B: "+args[2]); System.out.println(" 参数C: "+args[3]); double A=Double.parseDouble(args[1]); double B=Double.parseDouble(args[2]); double C=Double.parseDouble(args[3]); double v,t; try { Common d=(Common) Class.forName("pkg1."+args[0]).newInstance(); v=d.runtimer(A,B,C); t=1000/v; System.out.println("平均速度: "+v+" km/h"); System.out.println("运行时间:"+t+" 小时"); } catch(Exception e) { System.out.println("class not found"); } } }
System.out.println("三边为: " + T.getA()+","+T.getB()+","+T.getC()); System.out.println("面积 : " + T.getArea()); System.out.println("周长 : " + T.getCircumference());
} } Hale Waihona Puke Baidupkg1中Plane.java的源程序: package pkg1; import pkg1.pkg2.*; public class Plane implements Common {
public double runtimer(double A,double B,double C) {
len++; if (!isLetter(strChar[i])) len++; } return len; }
public static String subString(String origin,int len){ if (origin==null || origin.equals("")|| len<1){
} } public static void main(String arg[]) {
System.out.println(some()); } } 答: try finally 1 2、先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。若输入的不是一个有效 的十六进制数,则抛出异常。
public double getCircumference(){ return this.a+this.b+this.c; } } class Rentangle implements Shape{
public double height=0; public double width=0;
public Rentangle(double height, double width){ this.height = height; this.width = width;} public double getHeight(){ return this.height; } public double getWidth(){ return this.width;} public double getArea(){ return this.height*this.width; }
double a=0; double b=0; double c=0; double height=0; double width=0; do { System.out.println("请输入三角形的三条边a、b、c:"); a= input.nextDouble(); b= input.nextDouble(); c= input.nextDouble(); if (a<0||b<0||c<0||a+b<=c||a-b>=c) { System.out.print("输入错误!!!"); } } while ((a<0||b<0||c<0||a+b<=c||a-b>=c)); do { System.out.println("请输入矩形的长和宽height、width:"); height= input.nextDouble(); width= input.nextDouble(); if (height<=0||width<=0) { System.out.print("输入错误!!!"); } } while (height<=0||width<=0); Triangle T=new Triangle(a,b,c); Rentangle R=new Rentangle(height,width); System.out.println("*******三角形*******");
return ""; }
if (len>lengths(origin)){ return origin;
} byte[] strByte=new byte[len]; System.arraycopy(origin.getBytes(),0,strByte,0,len); int count=0; for (int i=0;i<len;i++){
}
public static int lengths(String strSrc){ if (strSrc==null){
return 0; } int len=0; char[] strChar=strSrc.toCharArray(); for (int i=0;i<strChar.length;i++){
return A+B+C; } } 包pkg2中Common.java的源程序: package pkg1.pkg2; public interface Common { double runtimer(double A,double B,double C); }
3、利用接口编写三角形、矩形的面积和周长的程序。 答: import java.util.Scanner; interface Shape{ public abstract double getArea(); public abstract double getCircumference(); } class Triangle implements Shape { private double a=0; private double b=0; private double c=0; public Triangle(double a, double b, double c) { this.a=a; this.b=b; this.c=c;} public double getA() { return this.a;} public double getB() { return this.b;} public double getC() { return this.c;} public double getArea() { // 根据海伦公式求三角形的面积 double p=(a+b+c)/2; return Math.pow(p*(p-a)*(p-b)*(p-c),0.5);}
public double getCircumference(){ return 2*(this.height+this.width);
} } public class test{ public static void main(String[] args){
Scanner input = new Scanner(System.in);
Java第二次作业
第三章 Java面向对象
1、为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每 种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:ComputeTime.java, Plane.java, Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修 改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入
int value=(int)strByte[i]; if (value<0) count++; } if (count % 2 !=0){ len=(len==1)?++len:--len; } return new String(strByte,0,len);
}
public static void main(String[] args) { System.out.println(""+ subString("我ABC汉DEF",6));
4、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但 是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为 "我ABC"而不是"我ABC+汉的半个"。 答: public class test {
public static boolean isLetter(char c){ int k=0X80; return c/k==0?true:false;
ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C, 举例如下: 计算Plane的时间:"java ComputeTime Plane 20 30 40" 计算Car007的时间:"java ComputeTime Car007 23 34 45" 如果第3种交通工具为Ship, 则只需要编写Ship.java,运行时输入:"java ComputeTime Ship 22 33 44" 提示:充分利用接口的概念,接口对象充当参数。
包pkg1中Car007.java的源程序: package pkg1;
import pkg1.pkg2.*; public class Car007 implements Common { public double runtimer(double A,double B,double C)
{ System.out.println("runtime="+(A*B/C)); return A*B/C;
}
} 运行结果:
第四章 Java异常处理
1、写程序运行结果: public class A {
static int some() { try { System.out.println("try"); return 1; }
finally { System.out.println("finally");
System.out.println("*******矩形*******");
System.out.println("长: " + R.getHeight()); System.out.println("宽: " + R.getWidth()); System.out.println("面积 : " + R.getArea()); System.out.println("周长 : " + R.getCircumference()); } } 运行结果:
ComputerTime.java 源程序: import pkg1.pkg2.*; import java.lang.*; public class ComputerTime { public static void main(String args[]) { System.out.println("交通工具: "+args[0]); System.out.println(" 参数A: "+args[1]); System.out.println(" 参数B: "+args[2]); System.out.println(" 参数C: "+args[3]); double A=Double.parseDouble(args[1]); double B=Double.parseDouble(args[2]); double C=Double.parseDouble(args[3]); double v,t; try { Common d=(Common) Class.forName("pkg1."+args[0]).newInstance(); v=d.runtimer(A,B,C); t=1000/v; System.out.println("平均速度: "+v+" km/h"); System.out.println("运行时间:"+t+" 小时"); } catch(Exception e) { System.out.println("class not found"); } } }
System.out.println("三边为: " + T.getA()+","+T.getB()+","+T.getC()); System.out.println("面积 : " + T.getArea()); System.out.println("周长 : " + T.getCircumference());
} } Hale Waihona Puke Baidupkg1中Plane.java的源程序: package pkg1; import pkg1.pkg2.*; public class Plane implements Common {
public double runtimer(double A,double B,double C) {
len++; if (!isLetter(strChar[i])) len++; } return len; }
public static String subString(String origin,int len){ if (origin==null || origin.equals("")|| len<1){
} } public static void main(String arg[]) {
System.out.println(some()); } } 答: try finally 1 2、先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。若输入的不是一个有效 的十六进制数,则抛出异常。
public double getCircumference(){ return this.a+this.b+this.c; } } class Rentangle implements Shape{
public double height=0; public double width=0;
public Rentangle(double height, double width){ this.height = height; this.width = width;} public double getHeight(){ return this.height; } public double getWidth(){ return this.width;} public double getArea(){ return this.height*this.width; }
double a=0; double b=0; double c=0; double height=0; double width=0; do { System.out.println("请输入三角形的三条边a、b、c:"); a= input.nextDouble(); b= input.nextDouble(); c= input.nextDouble(); if (a<0||b<0||c<0||a+b<=c||a-b>=c) { System.out.print("输入错误!!!"); } } while ((a<0||b<0||c<0||a+b<=c||a-b>=c)); do { System.out.println("请输入矩形的长和宽height、width:"); height= input.nextDouble(); width= input.nextDouble(); if (height<=0||width<=0) { System.out.print("输入错误!!!"); } } while (height<=0||width<=0); Triangle T=new Triangle(a,b,c); Rentangle R=new Rentangle(height,width); System.out.println("*******三角形*******");
return ""; }
if (len>lengths(origin)){ return origin;
} byte[] strByte=new byte[len]; System.arraycopy(origin.getBytes(),0,strByte,0,len); int count=0; for (int i=0;i<len;i++){
}
public static int lengths(String strSrc){ if (strSrc==null){
return 0; } int len=0; char[] strChar=strSrc.toCharArray(); for (int i=0;i<strChar.length;i++){
return A+B+C; } } 包pkg2中Common.java的源程序: package pkg1.pkg2; public interface Common { double runtimer(double A,double B,double C); }
3、利用接口编写三角形、矩形的面积和周长的程序。 答: import java.util.Scanner; interface Shape{ public abstract double getArea(); public abstract double getCircumference(); } class Triangle implements Shape { private double a=0; private double b=0; private double c=0; public Triangle(double a, double b, double c) { this.a=a; this.b=b; this.c=c;} public double getA() { return this.a;} public double getB() { return this.b;} public double getC() { return this.c;} public double getArea() { // 根据海伦公式求三角形的面积 double p=(a+b+c)/2; return Math.pow(p*(p-a)*(p-b)*(p-c),0.5);}
public double getCircumference(){ return 2*(this.height+this.width);
} } public class test{ public static void main(String[] args){
Scanner input = new Scanner(System.in);
Java第二次作业
第三章 Java面向对象
1、为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每 种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:ComputeTime.java, Plane.java, Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修 改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入
int value=(int)strByte[i]; if (value<0) count++; } if (count % 2 !=0){ len=(len==1)?++len:--len; } return new String(strByte,0,len);
}
public static void main(String[] args) { System.out.println(""+ subString("我ABC汉DEF",6));
4、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但 是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为 "我ABC"而不是"我ABC+汉的半个"。 答: public class test {
public static boolean isLetter(char c){ int k=0X80; return c/k==0?true:false;
ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C, 举例如下: 计算Plane的时间:"java ComputeTime Plane 20 30 40" 计算Car007的时间:"java ComputeTime Car007 23 34 45" 如果第3种交通工具为Ship, 则只需要编写Ship.java,运行时输入:"java ComputeTime Ship 22 33 44" 提示:充分利用接口的概念,接口对象充当参数。
包pkg1中Car007.java的源程序: package pkg1;
import pkg1.pkg2.*; public class Car007 implements Common { public double runtimer(double A,double B,double C)
{ System.out.println("runtime="+(A*B/C)); return A*B/C;
}
} 运行结果:
第四章 Java异常处理
1、写程序运行结果: public class A {
static int some() { try { System.out.println("try"); return 1; }
finally { System.out.println("finally");
System.out.println("*******矩形*******");
System.out.println("长: " + R.getHeight()); System.out.println("宽: " + R.getWidth()); System.out.println("面积 : " + R.getArea()); System.out.println("周长 : " + R.getCircumference()); } } 运行结果: