Java用类实现结构体的功能
来源:互联网 发布:reflector软件下载 编辑:程序博客网 时间:2024/06/12 23:50
我们都知道C/C++里面的结构体在储存数据的时候很方便,但是在Java中没有Struct,但是我们可以用类来实现Struct的功能
与Struct声明功能一样的类的定义:
public class platform
{
private int x;//平台左端的位置
private int y;//平台右边的位置
private int h;//平台离地面的高度
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getH() {
return h;
}
public void setH(int h) {
this.h = h;
}
}
使用上面类的类:
public class Test10_4 {
private static final int INFINITE = 1000000000;// 对于该题相当于无穷大
private static int n;// 平台的个数
private static platform[] pf ;// 保存所有平台
private static int max;// 能降落的最大高度
private static int[] aLeftMinTime;// 保存从每个平台左端到地面的最短时间
private static int[] aRightMinTime;// 保存从每个平台右端到地面的最短时间
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
pf=new platform[n+1];
/* 开始的位置也看做是一个平台*/
int m = sc.nextInt();
platform p=new platform();//在给pf[]数组赋值的时候,需要先声明一个对象,然后再将对象赋值给数组,否则访问数组时会出现空指针错误。
p.setX(m);
p.setY(m);
p.setH(sc.nextInt());
pf[0]=p;
max = sc.nextInt();
// 给各个平台的数据赋值
for (int i = 1; i <= n; i++) {
p=new platform();
p.setX(sc.nextInt());
p.setY(sc.nextInt());
p.setH(sc.nextInt());
pf[i]=p;
}
}
}
上面的类分别对三个私有变量(private)写了set和get方法,在访问私有变量的时候可以调用函数来访问,同时如果将变量声明为公有变量(public)不用为公有变量写set和get方法,直接用对象.变量名来访问即可。
该类可以写在用到该类的类的外边,也可以写成内部类。
import java.util.*;
public class Test10_4 {
public class platform
{
public int x;//平台左端的位置
private int y;//平台右边的位置
private int h;//平台离地面的高度
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getH() {
return h;
}
public void setH(int h) {
this.h = h;
}
}
private static final int INFINITE = 1000000000;// 对于该题相当于无穷大
private static int n;// 平台的个数
private static platform[] pf ;// 保存所有平台
private static int max;// 能降落的最大高度
private static int[] aLeftMinTime;// 保存从每个平台左端到地面的最短时间
private static int[] aRightMinTime;// 保存从每个平台右端到地面的最短时间
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
pf=new platform[n+1];
/* 开始的位置也看做是一个平台*/
int m = sc.nextInt();
//内部类对象的生成方法
Test10_4 t=new Test10_4();
Test10_4.platform p=t.new platform();
p.setX(m);
p.setY(m);
p.setH(sc.nextInt());
pf[0]=p;
max = sc.nextInt();
// 给各个平台的数据赋值
for (int i = 1; i <= n; i++) {
p=t.new platform();
p.setX(sc.nextInt());
p.setY(sc.nextInt());
p.setH(sc.nextInt());
pf[i]=p;
}
}
}
注意:内部类对象的生成方法
- Java用类实现结构体的功能
- java用类实现结构体数组功能
- 会场安排问题 java 中用class实现结构体的功能struct,实现二级排序/优先队列也可以实现
- Shell中实现类似于结构体/数组功能的脚本
- 用选择结构实现购物管理系统的部分功能
- java反射机制功能之---检查类的结构
- JavaScript实现类Java的Map结构
- 用java自己实现String类的trim()方法功能
- 用JAVA实现MSN Messager的功能
- 用JAVA实现MSN Messenger的功能
- 用JAVA实现MSNMessager的功能
- 用java实现病毒功能的代码
- 用JAVA实现MSN Messenger的功能
- 用Java实现Ping的功能
- 用Java实现Ping的功能(续)
- 用JAVA实现的远程桌面控制功能
- 用java代码实现native2ascii的功能
- 用JAVA的接口实现callback功能
- 免费QTP移动领域自动化测试研讨会
- struts2+hibernate 实现B2C电子商务网站的登录 、注册中验证码的实现(源码)
- A. Two Bags of Potatoes
- java中static作用详解(版本一)
- does break strict-aliasing rules
- Java用类实现结构体的功能
- Latex中IEEEtran中参考文献中斜体问题
- 2.6 typedef名字
- sqlserver三种分页方式性能比较
- Conversion to Dalvik format failed with error 1
- windows批处理文件设置网卡
- 毛新生:云计算的关键是引领和开放
- 程序人生--2009年(51)
- 危机时刻看到社交媒介的重要性