}
}
//System.out.println(\
cir.setRadius(11);//改变cir的半径
System.out.println(\改变半径后的圆信息如下:\System.out.println(\面积=\System.out.println(\周长=\ System.out.println(\
Rectangle rect = new Rectangle(\长方形\定义矩形对象 System.out.println(\面积=\System.out.println(\周长=\
第五次上机
mport javax.swing.*;
class Sanjiaoxing{
double a,b,c;
public Sanjiaoxing(double a1,double b1,double c1)//构造方法 {a=a1;b=b1;c=c1;}
//求面积的方法
public double getArea() throws R_Exception
{double p; //当不能构成三角形时抛出异常 if(a+b
p=(a+b+c)/2;
return(Math.sqrt(p*(p-a)*(p-b)*(p-c))); } }
class SanjiaoxingException{
public static void main(String []args){ Sanjiaoxing c1=new Sanjiaoxing(3,3,3); Sanjiaoxing c2=new Sanjiaoxing(1,2,5);
try{
System.out.println(\三角形的面积是:\\n\ System.out.println(\三角形的面积是:\\n\ }
catch(R_Exception e){
//处理异常时,打印出异常信息,并弹出异常对话框 // System.out.println(e.e_message());
JOptionPane.showMessageDialog(null,e.e_message());//这句要生效的话则前面的import javax.swing.*;必须要,Java中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能 } } }
//自定义异常类
class R_Exception extends Exception{
String str;
//显示异常信息的方法 public String e_message(){
str = \出现异常:\\n三边不能构成三角形,无法计算三角形面积\
return str; } }
abstract class Person //父类 { public String name; public int age; public String sex; public Person()//构造函数 { } public Person(String name,int age,String sex) //重载构造函数 { this.name=name;this.age=age;this.sex=sex; } }
interface Jiekou //定义接口 { String country=\中国\定义常量 void printinfo();//定义接口中的方法 }
class Student extends Person implements Jiekou //子类Student ,它继承父类Person并使用接口Jiekou
{ String school; String zhuanye; Student(String name,int age,String sex,String school,String zhuanye) { super(name,age,sex);//调用父类构造函数
this.school=school;this.zhuanye=zhuanye;//为子类新增成员赋值 } public void printinfo()//实现接口中的方法,注意要显示写出public {
System.out.println(\chool+\ } }
class Teacher extends Person implements Jiekou //子类Student ,它继承父类Person并使用接口Jiekou
{ String school; String zhicheng; String teach; Teacher(String name,int age,String sex,String school,String zhicheng,String teach)//构造方法 { super(name,age,sex);
this.school=school;this.zhicheng=zhicheng;this.teach=teach; } public void printinfo() //实现接口中的方法,注意要显示写出public { System.out.println(\=\ } }
class JiekouTest //测试类 { public static void main(String[] args)
{
Student s1=new Student(\王勇\男\清华大学\计算机应用\ //s1.printinfo(); Teacher t1=new Teacher(\李杰\女\北京大学\讲师\《数据库原理》\ Person p1; p1=s1;//对象的上转型对象 p1.name=\张三\正确,引用子类继承的成员变量name //p1.school=\复旦大学\错误,通过上转型对象不能引用子类新增成员,只能引用父类成员 /*Jiekou j1; j1=s1;j1.printinfo();//接口回调 j1=t1;j1.printinfo();//接口回调 */ s1.printinfo(); t1.printinfo(); } } 第六次上机 *
编写一个多线程程序,主方法中有两个线程, 一个用来计算并显示2~1000之间的质数及个数, 一个用来计算并显示5000~10000之间的质数及个数 */
class Prime implements Runnable{//定义线程类Prime ,使用Runnable接口 int m,n;
Prime(){}//构造函数
Prime(int a,int b){//构造函数 m=a;n=b; }
public void run(){//实现接口的Run()方法 getPrime(m,n); }
void getPrime(int m,int n){//判断并输出m到n之间的素数 int sum=0; for(int i=m;i
}
System.out.print(m+\至\之间的素数个数是\ } }
public class PrimeThreadTest { public static void main(String[] args) { Prime p1=new Prime(2,1000); Prime p2=new Prime(5000,10000); Thread th1=new Thread(p1);Thread th2=new Thread(p2); th1.start();
//th2.setDaemon(true);//定义后台线程 th2.start(); } } /*
编写一个多线程程序,主方法中有两个线程, 一个用来计算并显示2~1000之间的质数及个数, 一个用来计算并显示5000~10000之间的质数及个数 改成联合线程,先输出2~1000之间的素数及个数,再输出5000~10000之间的素数及个数。 */
class Prime implements Runnable{//定义线程类Prime ,使用Runnable接口 int m,n; Prime(){}//构造函数 Prime(int a,int b){//构造函数 m=a;n=b; } public void run(){//实现接口的Run()方法 getPrime(m,n); } void getPrime(int m,int n){//判断并输出m到n之间的素数 int sum=0; for(int i=m;i
public class ThreadDemo2 {