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

一、源程序

1.computer.java

/**
* 创建一个computer类,类中包含getJC方法,其方法作用为求所传参数X的阶乘
*/
package 阶乘; public class computer {
public long getJC(long x){ //创建求阶乘方法
long p=1;
for (int i = 1; i <= x; i++) {
p*=i;
}
return p;
}
}

2.APP.java

/**
* 创建APP类类中包含主方法,主方法中用computer类中定义了一个对象T,由T调用computer类中getJC方法,
* 求用户所输入数的阶乘
*/
package APP;
import java.util.Scanner; import 阶乘.computer;
public class APP { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入一个整数");
Scanner reader=new Scanner(System.in);
computer T=new computer(); //定义computer类的对象T
long p=reader.nextLong();
System.out.println(T.getJC(p)); //调用computer类中求阶乘方法getJC } }

 二、运行结果

题目2:

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

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

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

一、源程序

1.mypoint.java

/**
* 创建mypoint类,请中包含下
* x.y两个成员变量,接收两个点坐标,
* x.y成员变量的修改器和访问器getX.setX.getY.setY
* 两个构造方法,第一个为无参构造方法创建点(0,0),第二个为有参构造方法根据参数指定坐标创建一个点,
* 一个distance方法求两个点之间的距离。
* @author X1393
*
*/
public class mypoint {
double x; //定义成员变量X
double y; //定义成员变量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) { //创建x修改器
this.y = y;
}
mypoint(){ //创建无参构造方法创建点(0,0)
x=0;
y=0;
}
mypoint(double x,double y){ //创建有参构造方法接受两个点
this.x=x;
this.y=y;
}
static double distance(mypoint p1,mypoint p2){ //创建distance方法求两个点距离
double x1=p1.getX();
double x2=p2.getX();
double y1=p1.getY();
double y2=p2.getY();
return Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
} }

  

2.Test.java

import java.util.Scanner;

/**
* 创建主方法其中包含以下部分
* x1.x2.y1.y2四个变量接受两个点的四个坐标
* 调用mypoint中distance方法求两个点距离
* @author X1393
*
*/
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入两点坐标");
Scanner reader=new Scanner(System.in);
double x1=reader.nextDouble();
double y1=reader.nextDouble();
double x2=reader.nextDouble();
double y2=reader.nextDouble();
mypoint T1=new mypoint(); //定义接收第一个点的对象T1
mypoint T2=new mypoint(); //定义接受第二个点的对象T2
T1.x=x1;
T1.y=y1;
T2.x=x2;
T2.y=y2;
System.out.println(mypoint.distance(T1, T2)); //调用distance方法求出两点之间距离
} }

 二、运行结果

20194653 面向对象基础3——static、this、包总结的更多相关文章

  1. JavaSE学习笔记(2)---面向对象基础

    JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...

  2. 到头来还是逃不开Java - Java13面向对象基础

    面向对象基础 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来.所以 ...

  3. MYSQL、PHP基础、面向对象基础简单复习总结

    一.MYSQL         1.配置MySql                 第一步安装服务器(apache).                 第二部安装MySql界面程序         2 ...

  4. java基础学习05(面向对象基础02)

    面向对象基础02 实现的目标 1.String类的使用2.掌握this关键字的使用3.掌握static关键字的使用4.了解内部类 String类 实例化String对象一个字符串就是一个String类 ...

  5. java基础学习05(面向对象基础01--类实例分析)

    面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过set ...

  6. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  7. 【重走Android之路】【Java面向对象基础(三)】面向对象思想

    [重走Android之路][基础篇(三)][Java面向对象基础]面向对象思想   1 面向对象的WWH   1.1 What--什么是面向对象         首先,要理解“对象”.在Thinkin ...

  8. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

  9. sql+PHP基础+面向对象基础简单总结

    一.MYSQL         1.配置MySql                 第一步安装服务器(apache).                 第二部安装MySql界面程序         2 ...

随机推荐

  1. AssemblyScript基本使用与项目构建

    全局安装assemblyscript npm i -S AssemblyScript/assemblyscript glob 生成编译脚手架 npx asinit . 项目构建 npm run asb ...

  2. Tomcat黑窗口中对于中文乱码问题的解决

    存在的问题: 如标题,下图所示,启动tomcat时黑窗口中中文乱码,影响查看程序打印信息 解决方案: tomcat安装/解压目录中,conf 文件夹下 logging.properties 文件中,代 ...

  3. 为什么大家都说Java中只有值传递?

    最近跟Java中的值传递和引用传递杠上了,一度怀疑人生.查了很多资料,加上自己的理解,终于搞清楚了,什么是值传递和引用传递.也搞明白了,为什么大家都说Java只有值传递,没有引用传递.原来,我一直以来 ...

  4. jenkins +git+ssh 构建 .net项目

    jenkins +git+ssh 构建 .net项目 安装jenkins jdk 和插件就不一一介绍了. Multiple SCMs 插件介绍:可以获取多个项目(如果你的项目中有依赖其他项目的) So ...

  5. 大数据框架开发基础之Sqoop(1) 入门

    Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle , ...

  6. LCA (Tarjan&倍增)

    LCA_Tarjan 参考博客:https://www.cnblogs.com/JVxie/p/4854719.html LCA的Tarjan写法需要结合并查集 从叶子节点往上并 int Find ( ...

  7. linux修改环境变量的三种方法【转】

    [环境变量配置的三个方法] 如想将一个路径加入到$PATH中,可以像下面这样做:  1. 控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时 ...

  8. mysql索引创建和使用细节

    最近困扰自己很久的膝盖积液手术终于做完,在家养伤,逛技术博客看到easyswoole开发组成员仙士可博客有关mysql索引方面的知识,自己打算重温下. 正常业务起步数据表数据量较少,不用考虑使用索引, ...

  9. 通过例子进阶学习C++(七)CMake项目通过模板库实现约瑟夫环

    本文是通过例子学习C++的第七篇,通过这个例子可以快速入门c++相关的语法. 1.问题描述 回顾一下约瑟夫环问题:n 个人围坐在一个圆桌周围,现在从第 s 个人开始报数,数到第 m 个人,让他出局:然 ...

  10. MySql数据主从同步配置

    由于需要配置MySQL的主从同步配置,现将配置过程记录下,已被以后不时之需 MySql数据主从同步   1.1. 同步介绍 Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一 ...