Java.work6 stasic、this、包总结作业20194651
题目一:
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中德Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
代码
1.App.java
/**
* 主类App,包含一个主方法;
* 主方法的功能:创建对象,接受输入,调用Computer类中的方法计算阶乘并输出;
*/ package b;
import a.*;
import java.util.Scanner; public class App {
public static void main(String[] args){
int n;
Computer c = new Computer(); //创建对象c;
System.out.print("想求几的阶乘:");
Scanner reader = new Scanner(System.in);
n = reader.nextInt();
System.out.println(""+n+"阶乘是:"+c.Jc(n)); // 调用方法并输出
}
}
2.Computer.java
/**
* 定义了一个Computer类,包含一个方法Jc;
* Jc的功能是计算n的阶乘;
*/ package a; public class Computer { public double Jc(int n){ //求n阶的乘的方法
int i;
double num=1;//存储每次乘之后的值
for(i=1;i<=n;i++){
num *=i;
}
return num;
}
}
运行结果
题目二:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
代码:
1.Test.java
/**
* 主类Test,包含一个主方法;
* 主方法功能:接受两个点坐标的输入,创建两个点的对象,调用distance方法计算输出两个点之间的距离
*/ package Point;
import java.util.Scanner; public class Test {
public static void main(String[] args) {
double x1,y1,x2,y2; //x1,x2,y1,y2代表两个点的坐标;
System.out.print("请输入第一个点坐标:");
Scanner reader = new Scanner(System.in);
x1 = reader.nextDouble();
y1 = reader.nextDouble();
System.out.print("请输入第二个点坐标:");
x2 = reader.nextDouble();
y2 = reader.nextDouble();
Mypoint q1 = new Mypoint(x1, y1); //创建对象;
Mypoint q2 = new Mypoint(x2, y2); //创建对象;
System.out.print("两点间距离是"+Mypoint.distance(q1, q2));
} }
2.Mypoint.java
/**
* 类中包含两个成员变量 x,y,三个方法分别是无参构造方法,有参构造方法,distance方法;
* 成员变量x,y分别表示一个点的横坐标和纵坐标;
* 无参构造方法创建原点(0,0),有参构造方法是根据参数指定的坐标创建点,distance方法的功能是计算主类中输入两个点之间的距离
*/ package Point; public class Mypoint {
private double x;
private double y; public double getX(){ //访问器
return x;
}
public void setX(int x){ //修改器
this.x = x;
}
public double getY(){
return y;
}
public void setY(int y){
this.y = y;
}
Mypoint(){ //无参构造方法
x = 0;
y = 0;
}
Mypoint(double x2, double y2){ //有参构造方法
this.x = x2;
this.y = y2;
}
static double distance(Mypoint p1, Mypoint p2){ //计算两个点之间的距离
double x1 = p1.getX();
double x2 = p2.getX();
double y1 = p1.getX();
double y2 = p2.getX();
return Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
}
运行结果:
Java.work6 stasic、this、包总结作业20194651的更多相关文章
- week13《java程序设计》第13次作业总结
week13<java程序设计>第13次作业总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 答: 1.IP与端口:ip和域名相对应,可找 ...
- Week06《Java程序设计》第六次作业总结
Week06<Java程序设计>第六次作业总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行 ...
- 201621123080《java程序设计》第六周作业总结
201621123080<java程序设计>第六周作业总结 1. 本周学习总结 2. 书面作业 clone方法 1.1 在test1包中编写Employee类,在test2包中新建一个Te ...
- C#调用java类、jar包方法(转)
一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...
- java编译错误 程序包javax.servlet不存在javax.servlet.*
java编译错误 程序包javax.servlet不存在javax.servlet.* 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax. ...
- C#调用java类、jar包方法
一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...
- 将java源文件制成jar包
很多人都在苦恼,如何将写好的程序代码能在日后随时调用和配置在项目中运行 今天,就让梦逸来给大家分享这个过程 首先,创建好一个文件夹,文件夹名称随意 这个文件夹中是用来存放java源文件( 未编译的 x ...
- java基础十[包、Jar存档文件和部署](阅读Head First Java记录)
将Java的class文件生成为可执行的Java应用程序.Java应用程序有三种:完全在本机执行的Jar(例如本机的GUI可执行程序):完全在服务器端远程执行的(例如浏览器来进行存取):介于两者之间的 ...
- java开发常用jar包介绍(转载)
jta.jar 标准JTA API必要 commons-collections.jar 集合类 必要 antlr.jar ANother Tool for Language Recognition ...
随机推荐
- docker练习-容器和服务
使用定义容器 Dockerfile Dockerfile定义容器内环境中发生的事情.对网络接口和磁盘驱动器等资源的访问在此环境中进行虚拟化,该环境与系统的其他部分隔离,因此您需要将端口映射到外部世界, ...
- Theia APIs——Preferences
上一篇:Theia APIs——命令和快捷键 Preferences Theia有一个preference service,模块可以通过它来获取preference的值,提供默认的preference ...
- Mysql 性能优化Explain详解
explain 功能我们在日常使用中,使用慢查询找到执行时间比较久的查询,然后使用SHOW STATUS.SHOW PROFILE.和explain做单条语句的分析.使用explain关键字可以模拟优 ...
- Ncverilog 仿真quartus generate IP的要点
Ncverilog 仿真quartus generate IP的要点 最近利用quartus II 生成plll 的IP,利用nclaunch 仿真的时候老是报错, 提示unresolved in w ...
- Vuex实践(下)-mapState和mapGetters
Vuex系列文章 <Vuex实践(上)> <Vuex实践(中)-多module中的state.mutations.actions和getters> <Vuex实践(下)- ...
- Prometheus+Alertmanager+Grafana监控组件容器部署
直接上部署配置文件 docker-compose.yml version: '3' networks: monitor: driver: bridge services: prometheus: im ...
- 重拾c++第一天(3):数据处理
1.short至少16位:int至少与short一样长:long至少32位,且至少与int一样长:long long至少64位,且至少与long一样长 2.sizeof 变量 返回变量长度 或者s ...
- GitHub进阶之利用Git远程仓库篇
#在上一篇文章,相信大家对GitHub已经有了一个基础的理解 接下来我们来学习一下如何利用git来远程仓库 一,git是什么 git:一个免费的开源版本控制软件 用途:利用Git管理GitHub上的代 ...
- crawler 听课笔记 碎碎念 1 初步了解各种选择器极其简单的使用
css中 身份证 id对应# 衣服 class对应 . 图片 pyquery...as pq html= request.get(url=''.....'') doc=pq(html) d ...
- 洛谷 P1658 购物
题目链接 题目描述 你就要去购物了,现在你手上有N种不同面值的硬币,每种硬币有无限多个.为了方便购物,你希望带尽量少的硬币,但要能组合出1到X之间的任意值. 题目分析 题目要求组合出1到X之间的任意值 ...