当前位置:文档之家› JAVA复习精华

JAVA复习精华

实例化一个对象的另外一种办法:Class.forName(str).newInstance();例如需要实例化一个Plane 对象的话,则只要调用Class.forName("Plane").newInstance()便可。 答:
ComputerTime.java 源程序: import pkg1.pkg2.*; import ng.*; 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"); } } }
包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;
} } public static void main(String arg[]) {
System.out.println(some()); } } 答: try finally 1 2、先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。若输入的不是一个有效 的十六进制数,则抛出异常。
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));
System.out.println("*******矩形*******");
System.out.println("长: " + R.getHeight()); System.out.println("宽: " + R.getWidth()); System.out.println("面积 : " + R.getArea()); System.out.println("周长 : " + R.getCircumference()); } } 运行结果:
len++; if (!isLetter(strChar[i])) len++; } return len; }
public static String subString(String origin,int len){ if (origin==null || origin.equals("")|| len<1){
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++){
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;
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);}
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("*******三角形*******");
相关主题