JAVA-static,包,this总结作业

一、题目1

  编写一个类Computer,类中含有一个求n的阶乘方法。将该类打包,并在另一个包中Java文件中引入包,在主类中定义Computer类的对象,调用求n的阶乘方法,并输出。  

二、代码

1.computer.java

/**
 * computer.java文件computer类包含了类变量sum和getSum方法
 * sum变量初始为1,getSum方法中定义了一个if判断,正确返回最后sum值,错误继续返回方法
 * getSum方法中还写了求阶乘的算式
 */

package com;//包名

public class Computer {//定义一个computer类
    static int sum=1;  //设置一个静态变量sum
    public int getSum(int n){//创建一个求n阶乘的方法
        if(n==1){            //判断n是否等于1
            return sum;        //返回sum值
        }
        sum*=n;                //求n的阶乘
        return getSum(n-1); //递归
    }
}

2.App.java

/**
 * a包下的APP.java文件下有App类和主方法
 * 方法中创建了computer的对象和输入操作并最后输出结果
 */
package a;//包名

import java.util.Scanner;//导入scanner类

import com.Computer;//导入com包里的computer类

public class App {//定义一个类

    public static void main(String[] args) {//主方法
        Computer c=new Computer();//创建对象
        Scanner reader=new Scanner(System.in);//输入数据
        System.out.println("请输入一个数:");
        int n=reader.nextInt();//获取输入值
        System.out.println(n+"的阶乘为:"+c.getSum(n));//输出结果
    }

}

 

三、运行结果

 

 

 

 

 

 一、题目二

设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:

  • 两个私有成员变量x和y表示坐标值;
  • 成员变量x和y的访问器和修改器
  • 无参构造方法创建点(0,0);
  • 一个有参构造方法,根据参数指定坐标创建一个点;
  • distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。

        编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。

 二、代码

1.Test.java

/**
 * Test.java文件下有MyPoint类和Test类
 * MyPoint类中有私有成员变量x,y、x,y的修改器和访问器、无参构造方法、有参构造方法和distance方法
 * 无参构造方法中定义了一个初始点(0,0),有参构造方法中将参数值赋给了成员变量
 * distance方法中写了求两点距离的算式
 * Test类中的主方法创建了p1,p2两个对象,并赋初值为两个点坐标,最后调用distance方法输出结果
 */
package b;

import java.util.Scanner;


class MyPoint{            //定义MyPoint类
    private double x;    //定义私有成员变量
    private double y;
    
    
    public double getX() {        //成员变量x访问器
        return x;
    }
    public void setX(double x) {//成员变量x修改器
        this.x = x;
    }
    public double getY() {        //成员变量y访问器
        return y;
    }
    public void setY(double y) {//成员变量y修改器
        this.y = y;
    }
    MyPoint(){                    //无参构造方法
        x=0;
        y=0;
    }
    MyPoint(double x,double y){//有参构造方法
        this.x=x;
        this.y=y;
    }
    static double Distance(MyPoint p1,MyPoint p2){//求两点距离方法
        return Math.sqrt((p1.getX()-p2.getX())*(p1.getX()-p2.getX())+(p1.getY()-p2.getY())*(p1.getY()-p2.getY()));
    }
}
public class Test {

    
    public static void main(String[] args) {    //主方法
        Scanner reader=new Scanner(System.in);//输出语句
        System.out.println("请输入第一个点坐标:");
        double x1=reader.nextDouble();
        double y1=reader.nextDouble();
        System.out.println("请输入第二个点坐标:");
        double x2=reader.nextDouble();
        double y2=reader.nextDouble();
        MyPoint p1=new MyPoint(x1,y1); //创建对象
        MyPoint p2=new MyPoint(x2,y2);
        System.out.println("两点间的距离是:"+MyPoint.Distance(p1, p2));//输出结果
    }

}

 

 三、运行结果

 

 

转载于:https://www.cnblogs.com/weiyiren666/p/11541022.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值