Java第6次作业--static关键字、对象

一、题目1

编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。

二、代码

package cn;//

import java.util.Scanner;//引入java.util.*下的包,导入scanner类
import com.Computer;//引入com包,导入computer类
public class App {//App类

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Computer com=new Computer();//创建Computer对象
        Scanner reader=new Scanner(System.in);//键盘输入数据
        System.out.println("输入一个数:");
        int n=reader.nextInt();//从键盘获取输入值
        System.out.println(n+"的阶乘为:"+com.getSum(n));//输出阶乘结果
    }

}
package com;//

public class Computer {//创建一个computer类
        static int sum=1;  //设置一个静态变量sum
        public int getSum(int n){//创建一个求n阶乘的方法
            if(n==1){            //如果求1的阶乘
                return sum;        //返回n的阶乘1
            }
            sum*=n;                //求n的阶乘
            return getSum(n-1); 
        }
}

三、运行结果

一、题目2

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

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

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

 

二、代码

package cs;//
import css.MyPoint;//引入css包,导入MyPoint类
import java.util.Scanner;//引入java.util.*下的包,导入scanner类
public class Test {//Test类

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);输入数据
        System.out.println("请输入p1点横坐标:");
        int x1=sc.nextInt();//获取输入值
        System.out.println("请输入p1点纵坐标:");
        int y1=sc.nextInt();//获取输入值
        System.out.println("请输入p2点横坐标:");
        int x2=sc.nextInt();//获取输入值     
        System.out.println("请输入p点纵坐标:");
        int y2=sc.nextInt();//获取输入值
        MyPoint p1=new MyPoint(x1,y1);//创建第一个MyPoint对象p1
        MyPoint p2=new MyPoint(x2,y2);//创建第二个MyPoint对象p2
        double dis= MyPoint.distance(p1, p2);//调用MyPoint对象计算两点之间的距离
 
    }

}
package css;//

public class MyPoint {
        private int x;//创建私有成员变量x
        private int y;//创建私有的成员变量y
        public MyPoint() {//无参构造方法创建点(0,0)
            x=0;
            y=0;
        }
        public MyPoint(int x,int y){//有参构造方法
            this.x=x;
            this.y=y;
        }
        public int getX() {//获取成员变量x的数值
            return x;
        }
        public void setX(int x) {//给成员变量x赋值
            this.x = x;
        }
        public int getY() {//获取成员变量y的数值
            return y;
        }
        public void setY(int y) {//给成员变量y赋值
            this.y = y;
        }
        
        public static double distance(MyPoint p1,MyPoint p2){
            double dis=Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
            System.out.println("两点之见的距离是"+dis);
            return dis;//返回两点间的距离
            
        }
}

三、运行结果

 

 

转载于:https://www.cnblogs.com/jingxueyan/p/11546105.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值