1.按下图结构设计相关的接口和类:
要求:(1)正弦类Csin、余弦类Ccos、正切类Ctan的getValue()方法分别返回属性a的正弦值、余弦值、正切值,每个类设计2个构造方法。
(2)设计一测试类,分别计算12的正弦值、余弦值、正切值,并输出。
提示:使用Math.sin()得到正弦值。
代码如下
package ShiYan4;
interface Ifun{
public void getValue();
}
class Csin implements Ifun{
double a;
public Csin(){
}
public Csin(double a) {
this.a=a;
}
//方法重构
@Override
public void getValue() {
a=Math.sin(a);
System.out.println("sin a="+a);
}
}
class Ccos implements Ifun{
double a;
public Ccos(){
}
public Ccos(double a){
this.a=a;
}
//方法重构
@Override
public void getValue(){
this.a=Math.cos(this.a);
System.out.println("cos a="+a);
}
}
class Ctan implements Ifun{
double a;
public Ctan(){
}
public Ctan(double a){
this.a=a;
}
public void getValue(){
a=Math.tan(a);
System.out.println("tan a="+a);
}
}
public class T1 {
public static void main(String[] args) {
//创建对像
Csin s1=new Csin(12);
Ccos s2=new Ccos(12);
Ctan s3=new Ctan(12);
//调用
s1.getValue();
s2.getValue();
s3.getValue();
}
}
2.设计一个求3个整数最大值的类,要求:
(1)在外部类中设计一个求2个整数最大值的成员内部类,利用该成员内部类的对象实现求3个整数的最大值;
(2) 设计测试类,输出随意3个整数的最大值。
class Max3int {
public int a,b,c;
Max3int () {
}
Max3int (int a,int b,int c) {
this.a=a;
this.b=b;
this.c=c;
}
public class Max {
int x,y,max3;
Max(){
}
Max(int x,int y) {
this.x=x;
this.y=y;
}
public int get2max() {
max3=x;
if(x<=y){
max3=y;
}
return max3;
}
}
public int get3max() {
Max max3=new Max(a,b);
int m1= max3.get2max();
Max max4=new Max(m1,c);
int m2=max4.get2max();
System.out.println("三个数中最大的是"+m2);
return 0;
}
}
public class T2 {
public static void main(String[] args) {
Max3int max1=new Max3int(101,105,99);
max1.get3max();
}
}