胡昊—第6次作业—static关键字、对象
#题目1:
编写一个类Computer,类中含有一个求n的阶乘的方法。将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数决定),并将结果输出。
Computer.java
package QQQ;
public class Computer {
/**
* 该类实现对主方法中传入的参数求阶乘的操作,并将结果返回主方法
*/
public int getQQQ(int n) {
// TODO Auto-generated method stub
int x=1;//累乘使用的变量,赋初值为1
for(int i=1;i<=n;i++){
x*=i;
}
return x;
}
}
App.Java
package ZZZ;
import QQQ.Computer;
import java.util.*;
public class App { /**
* 该类为主类,里面包含主方法,输入一个数n,通过调用Computer类,
* 实现求n阶乘的操作
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Computer c=new Computer();//实例化一个Computer类的对象
Scanner r=new Scanner(System.in);
System.out.println("请输入一个数:");
int n=r.nextInt();
c.getQQQ(n);//调用Computer类中的getQQQ方法
System.out.println(n+"的阶乘是:"+c.getQQQ(n)); } }
程序实现截图

#题目2:
设计一个MyPoint类,表示一个具有x坐标和y坐标的点,该类包括:
- 两个私有成员变量x和y表示坐标值;
- 成员变量x和y的访问器和修改器
- 无参构造方法创建点(0,0);
- 一个有参构造方法,根据参数指定坐标创建一个点;
- distance方法(static修饰)返回参数为MyPoint类型的两个点对象之间的距离。
编写主类Test,在主类中输入两点坐标,创建两个点对象,利用distance()方法计算这两个点之间的距离。
MyPoint.java
package cn.edu.ccut.point;
public class MyPoint {
/**
* 该类实现求两点距离的功能
*/
double x;
double y;
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
MyPoint(){//构造方法,使x,y的初值为0
x=0;
y=0;
}
public MyPoint(double x,double y){//带参数的构造方法,可以通过参数传递,实现赋值
this.x=x;
this.y=y;
}
public static double distance(MyPoint p1,MyPoint p2){//求距离的方法
double x1=p1.getX();//通过getX()和getY(),获取两点的横纵坐标
double x2=p2.getX();
double y1=p1.getY();
double y2=p2.getY();
return Math.sqrt(Math.pow((x1-x2),2)+Math.pow((y1-y2), 2));
}
}
Test.java
import cn.edu.ccut.point.*;
import java.util.*;
public class Test { /**
* 该类为主类,在该类中调用MyPoint类,实现求两点距离的功能
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner r=new Scanner(System.in); System.out.println("请输入点1的X值");
double Ax=r.nextDouble();
System.out.println("请输入点1的Y值");
double Ay=r.nextDouble();
System.out.println("请输入点2的X值");
double Bx=r.nextDouble();
System.out.println("请输入点2的Y值");
double By=r.nextDouble(); MyPoint p1=new MyPoint(Ax,Ay);//实例化MyPoint类的对象,并为点传递横纵坐标值
MyPoint p2=new MyPoint(Bx,By);
System.out.print("两点间距离为:"+MyPoint.distance(p1,p2)); } }
运行结果截图

胡昊—第6次作业—static关键字、对象的更多相关文章
- 第6次作业--static关键字、对象
题目1:编写一个类Computer,类中含有一个求n的阶乘的方法.将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数 ...
- 第六次作业--static关键字、对象
##题目一 ##Computer package Train.Method.TeachDemo.Thread.Fuction; /** * 求n的阶乘算法 * @author 喵 * @date 20 ...
- Java第7次作业:造人类(用private封装,用static关键字自己造重载输出方法)什么是面向对象程序设计?什么是类和对象?什么是无参有参构造方法 ?什么是封装?
什么是面向对象程序设计? 我们称为OOP(Object Oriented Programming) 就是非结构化的程序设计 要使用类和对象的方法来进行编程 什么是类,什么是对象 类就是封装了属性和 ...
- 浅谈Static关键字
1.使用static关键字声明的属性为全局属性 未使用static关键字指定city之前,如果需要将Tom,Jack,Mary三人的城市均改成Beijing,需要再次声明三次对象的city为Beiji ...
- (转)Java中的static关键字解析
转载: http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: &q ...
- PHP的final关键字、static关键字、const关键字
在PHP5中新增加了final关键字,它可以加载类或类中方法前.但不能使用final标识成员属性,虽然final有常量的意思,但在php中定义常量是使用define()函数来完成的. final关键字 ...
- Java Static关键字详解
提起static关键字,相信大家绝对不会陌生,但是,想要完全说明白,猛的一想,发现自己好像又说不太明白... ...比方说,昨天被一个同学问起的时候... ... 当然,不是所有人都像我一样学艺不精的 ...
- 关于Java中的static关键字
Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...
- Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
随机推荐
- 【VS开发】浅谈C/C++中的static和extern关键字
一.C语言中的static关键字 在C语言中,static可以用来修饰局部变量,全局变量以及函数.在不同的情况下static的作用不尽相同. (1)修饰局部变量 一般情况下,对于局部变量是存放在栈区的 ...
- Net 文件和流 I/O
文件和流 I/O 2017/03/30 文件和流 I/O(输入/输出)是指在存储媒介中传入或传出数据. 在 .NET Framework 中,System.IO 命名空间包含允许以异步方式和同步方式对 ...
- HDU 1260 Tickets (动态规划)
Tickets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- CDH6.2的配置
访问node1: 192.168.56.11:7180 Username: admin Password: admin#进入欢迎界面 Welcome--Accept License 选免费版 Add ...
- K Closest Points to Origin
We have a list of points on the plane. Find the K closest points to the origin (0, 0). (Here, the d ...
- [转帖].MegaRAID SAS 9361-8i 开箱 极简测试
[配件开箱] 谁说raid0软硬没多大区别的...MegaRAID SAS 9361-8i 开箱 极简测试 [复制链接] https://www.chiphell.com/thread-1810952 ...
- hdfs基本文件操作
编程实现下列要求: 1.创建一个自己姓名首字母的文件夹 2.在文件夹下创建一个hdfstext1.txt文件,项文件内输入“班级学号姓名HDFS课堂测试”的文字内容: 3.在文件夹下在创建一个好的fs ...
- liunx crontab 定时访问指定url
链接主机 crontab -e 打开文件,直接输入需要执行的脚本 1 9 * * * /usr/bin/curl http://www.baidu.com 语法解析 * * * * * /usr/bi ...
- Redis利用Pipeline加速查询速度的方法
1. RTT Redis 是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下 Redis 客户端执行一条命令分为如下四个过程: 发送命令 命令排队 命令执行 返回结果 客户 ...
- IntelliJ IDEA setup JDK无效
参考 问题现象:功能全部爆红,总是提示“setup JDK”,设置JDK后无效.但程序能够正常编译和运行. 解决方法: File -> Invalidate Caches/Restart -& ...