封装一个类MyStock存放在cn.com.my包中,这个类包括:
1 一个名为id的int数据字段表示股票代码;P96第四题
等等等
主函数中具体的数据可以自行修改
import cn.com.my.MyStock;
public class NewMain {
public static void main(String[] args) {
double a;
MyStock MyStock = new MyStock();
MyStock.previousPrice = 12.34;
MyStock.currentPrice =12.45;
MyStock.setid(123214);
MyStock.setname("烟带" );
System.out.println("id:"+MyStock.getid());
System.out.println(MyStock.getname());
System.out.printf("股票的变化:" + "%.5f", MyStock.getPriceChange());
System.out.print('%');
}
}
在MyStack类中
package cn.com.my;
public class MyStock {
int id;
String name;
public double previousPrice;
public double currentPrice;
public int getid() {
return id;
}
public void setid(int id) {
this.id = id;
}
public String getname() {
return name;
}
public void setname(String name) {
this.name = name;
}
public double getpreviousPrice() {
return previousPrice;
}
public void setpreviousPrice(double previousPrice) {
this.previousPrice = previousPrice;
}
public double getcurrentPrice() {
return currentPrice;
}
public void setcurrentPrice(double currentPrice){
this.currentPrice=currentPrice;
}
public double getPriceChange() {
double a;
a = ((currentPrice - previousPrice) / previousPrice) * 100;
return (a);
}
}
一个有特定代码和名称的股票构造方法就是上述中构造中的多个get和set,set是用来从主函数中获得数据的,get是把得到的数据输出到主函数中的。在主函数中若要直接引用MyStock中的数据的话,需要把MyStock中的数据public。
2.封装一个类MyAccount类存放在cn.com.my包中:
主函数与1中类似稍微修改模拟银行开户过程
import cn.com.my.MyAccount;
public class NewMain {
public static void main(String[] args) {
System.out.println("正在创建新账户……");
MyAccount a = new MyAccount();
a.setId(4123);
a.setBalance(0);
a.setAnnualRate(0.1);
System.out.println("账户ID为:" + a.getId());
System.out.println("账户余额为:" + a.getBalance());
System.out.println("开户日期为:" + a.getDateCreated());
System.out.println("月利率为" + a.getAnnualRate() + "%");
a.deposit(123);
System.out.println("您当前的余额为" + a.getBalance());
a.withDarw(2);
System.out.println("您当前的余额为" + a.getBalance());
}
}
而在MyAccount中具体的代码如下
package cn.com.my;
import java.util.Date;
public class MyAccount {
public MyAccount(){
}
public MyAccount(int a){
this.id=1;
this.balance=9;
}
int id=0;
double balance;
double annualRate=0;
Date dateCreated=new Date();
public void setId(int id){
this.id=id;
}
public int getId(){
return id;
}
public void setBalance(double balance){
this.balance=balance;
}
public double getBalance(){
return balance;
}
public void setAnnualRate(double annualRate){
this.annualRate=annualRate;
}
public double getAnnualRate(){
return annualRate;
}
public Date getDateCreated(){
return dateCreated;
}
public double getMonthRate(){
return 0.25;
}
public double withDarw(int n){
balance=balance-n;
return balance;
}
public double deposit(int n){
balance=balance+n;
return balance;
}
}
封装一个MyPoint存放在cn.com.my包中,这个类包括:
1.两个double类型的私有坐标点x和y
等等等
主程序为
import cn.com.my.MyPoint;
public class NewMain {
public static void main(String[] args) {
MyPoint first = new MyPoint();
MyPoint second= new MyPoint(1);
System.out.println("MyPoint类型的两个点的距离为:"+MyPoint.distance(first, second));
MyPoint b1=new MyPoint();
MyPoint b2=new MyPoint();
b1.setX(1.1);
b1.setY(1.2);
b2.setX(2.3);
b2.setY(2.5);
System.out.printf("指定x和y坐标的两个点之间的距离为:"+MyPoint.distance(b1.getX(), b1.getY(), b2.getX(), b2.getY()));
}
}
MyPoint类里面
package cn.com.my;
public class MyPoint {
public MyPoint(){
x=0;
y=0;
}
public MyPoint(int a){
x=1.1;
y=2.1;
}
double x,y;
public void setX(double x){
this.x=x;
}
public double getX(){
return x;
}
public void setY(double y){
this.y=y;
}
public double getY(){
return y;
}
public static double distance(MyPoint a,MyPoint b){
double x=(a.x-b.x)*(a.x-b.x);
double y=(a.y-b.y)*(a.y-b.y);
double c=Math.sqrt(x+y);
return c;
}
public static double distance(double x1,double y1,double x2,double y2){
double x=(x1-x2)*(x1-x2);
double y=(y1-y2)*(y1-y2);
double c=Math.sqrt(x+y);
return c;
}
}
Beautiful
整个Java要比C更加美