题目一:

  编写一个类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的更多相关文章

  1. week13《java程序设计》第13次作业总结

    week13<java程序设计>第13次作业总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 答: 1.IP与端口:ip和域名相对应,可找 ...

  2. Week06《Java程序设计》第六次作业总结

    Week06<Java程序设计>第六次作业总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行 ...

  3. 201621123080《java程序设计》第六周作业总结

    201621123080<java程序设计>第六周作业总结 1. 本周学习总结 2. 书面作业 clone方法 1.1 在test1包中编写Employee类,在test2包中新建一个Te ...

  4. C#调用java类、jar包方法(转)

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

  5. java编译错误 程序包javax.servlet不存在javax.servlet.*

    java编译错误 程序包javax.servlet不存在javax.servlet.* 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax. ...

  6. C#调用java类、jar包方法

    一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...

  7. 将java源文件制成jar包

    很多人都在苦恼,如何将写好的程序代码能在日后随时调用和配置在项目中运行 今天,就让梦逸来给大家分享这个过程 首先,创建好一个文件夹,文件夹名称随意 这个文件夹中是用来存放java源文件( 未编译的 x ...

  8. java基础十[包、Jar存档文件和部署](阅读Head First Java记录)

    将Java的class文件生成为可执行的Java应用程序.Java应用程序有三种:完全在本机执行的Jar(例如本机的GUI可执行程序):完全在服务器端远程执行的(例如浏览器来进行存取):介于两者之间的 ...

  9. java开发常用jar包介绍(转载)

    jta.jar 标准JTA API必要 commons-collections.jar 集合类 必要 antlr.jar  ANother Tool for Language Recognition ...

随机推荐

  1. 在Mac/linux上查找(并终止)进程锁定特定端口的几种方法

    前言  无论是做网站还是做产品,经常使用到杀死某个进程的方法.制作脚本并熟悉运用是一个非常节省时间的方法. 基本命令  查找: [sudo] lsof -i :3000  杀戮 kill -9 方法一 ...

  2. AntDesign getFieldDecorator 获取自定义组件的值

    AntDesign getFieldDecorator 获取自定义组件的值 1.自定义或第三方的表单控件,也可以与 Form 组件一起使用.只要该组件遵循以下的约定: (1)提供受控属性 value ...

  3. Java截图小程序源码

    Java编写的全屏截图小程序 package cnom.test.testUtils; import java.awt.AWTException; import java.awt.Dimension; ...

  4. Django之models高级进阶技术详解

    目录 一.常用字段 1.AutoField 2.IntegerField 3.CharField 4.自定义及使用char 5.DateField 6.DateTimeField 二.字段合集 三.字 ...

  5. Freemarker 的基础使用 (一)

    以下内容来自:http://www.oschina.net/p/freemarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写. FreeMarker ...

  6. [论文翻译]Practical Diversified Recommendations on YouTube with Determinantal Point Processes

    目录 ABSTRACT(摘要) 1 INTRODUCTION(简介) 2 RELATED WORK 2.1 Diversification to Facilitate Exploration(对应多样 ...

  7. 机器学习新手必看:Jupyter Notebook入门指南

    参考网址:https://blog.csdn.net/guleileo/article/details/80490921

  8. jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"

    使用jquery ajax异步提交文件的时候报Uncaught TypeError :Illegal invocation错误,报错信息如图: 错误原因: jQuery Ajax 上传文件处理方式,使 ...

  9. BigDecimal的加减乘除,比较,小数保留

    关于BigDecimal的一些常用基本操作记录 1        BigDecimal b1 = new BigDecimal("1.124"); 2        BigDeci ...

  10. 盘它!!一步到位,Tensorflow 2的实战 !!LSTM下的股票预测(附详尽代码及数据集)

    关键词:tensorflow2.LSTM.时间序列.股票预测 Tensorflow 2.0发布已经有一段时间了,各种新API的确简单易用,除了官方文档以外能够找到的学习资料也很多,但是大都没有给出实战 ...