• JAVAstatic,包,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));//输出结果
        }
    
    }

     三、运行结果

  • 相关阅读:
    GCD
    vue中前进刷新、后退缓存方案收集
    vue cli3 项目配置
    CSS 多行省略失效 (-webkit-box-orient 失效) Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.
    vue 设置当前页背景色
    vue history模式下的微信支付,及微信支付授权目录的填写,处理URL未注册
    h5 audio播放问题,audio获取缓存进度条
    h5页面ios键盘弹出收起后页面底部留白问题
    vue项目中引入vant 使用rem布局问题
    vue history模式下的微信分享
  • 原文地址:https://www.cnblogs.com/weiyiren666/p/11541022.html
Copyright © 2020-2023  润新知