package szy;
     public class Computer {
        public int jiecheng(int n){
            int a=1;
            for(int i=1;i<=n;i++){
                a*=i;}
            return a;
            }
}
/**
创建一个包  包名为szy,创建一个public类类名为Computer,类中包含int变量a初始化值为1,for循环,i初值为1,通过i<=n;i++完成递归,a*=i完成阶乘操作,最后返回阶乘值
*/

2.szy.java

package zuoye;
import java.util.Scanner;
import szy.Computer;
public class szy {

    /**
     * @param args
     */
    public static void main(String[] args) {
        System.out.println("输入一个数");
        Scanner reader=new Scanner(System.in);
        int q=reader.nextInt();
        Computer a=new Computer();
        System.out.println("阶乘为"+a.jiecheng(q));
        
        // TODO Auto-generated method stub

    }

}
/**
创建一个包  名为zuoye,引入Scanner,引入Computer包,新建一个名为szy的public类
输入一个数,通过Computer包内的方法求出阶乘值,赋给a
*/

三、运行结果:

 

 

 题目2

一、:

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

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

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

二、源程序:

1、Mypoint.java

package hahaha;//打一个名为hahaha的包

public class Mypoint {//创建私有变量x和y
    private double x;
    private double y;
    public double getX() {//x和y的访问器和修改器
        return x;
    }
    public void setX(double x) {
        this.x = x;
    }
    public double getY() {
        return y;
    }
    public void setY(double y) {
        this.y = y;
    }
    Mypoint (){//无参构造(0,0)点
        double x=0;
        double y=0;
    }
    public Mypoint(double x,double y){//一个有参构造方法,根据参数指定坐标创建一个点
        this.x=x;
        this.y=y;
    }
    public static double Distance(Mypoint a1,Mypoint a2){//一个distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离
        double x1=a1.getX();
        double x2=a2.getX();
        double y1=a1.getY();
        double y2=a2.getY();
        return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        
        
        
    }

}

2、Test.java

package xixixi;//打一个名为xixixxi的包
import hahaha.Mypoint;//引用hahaha包的Mypoint
import java.util.Scanner;  //引用Scanner
public class Test {
  
      public static void main(String[] args) {   
         Scanner sc=new Scanner(System.in);
         System.out.println("请输入第一个点的横纵坐标:");  
         double a=sc.nextDouble();//赋值语句,接受横纵坐标
         double b=sc.nextDouble();
         System.out.println("请输入第二个点的横纵坐标:");
         double c=sc.nextDouble();   //赋值语句,接受横纵坐标
         double d=sc.nextDouble();
         Mypoint a1=new Mypoint(a,b); 
         Mypoint a2=new Mypoint(c,d);
 
         System.out.println("两点之间距离为:"+Mypoint.Distance(a1,a2));
     }
 
 }

三、运行结果: