1.封装一个股票(Stock)类,大盘名称为上证A股,前一日的收盘点是2844.70点,设置新的当前值如2910.02点,控制台既要显示以上信息,又要显示涨跌幅度以及点数变化的百分比。运行效果如下:
package zhtestdemo;
import java.util.Scanner;
import java.text.DecimalFormat;
public class demo { //创建类,类名叫demo;
private Stock stu =new Stock();//创建封装Stock类对象
public void Zhishu(double num) {
stu.output(num);
}
public static void main(String[] args) {
demo de=new demo(); //实例化demo函数,创建demo对象
Scanner sc=new Scanner(System.in);
System.out.println("请输入当前上证A股的股指数:");
double num=sc.nextDouble();
System.out.println('\n'+"解析的结果如下:");
System.out.println("——————————————————————————————————————————————————————————————————————————————————");
System.out.println("大盘名称"+'\t'+'\t'+"前一日收盘指数"+'\t'+'\t'+"当日当前指数"+'\t'+"涨跌幅度"+'\t'+'\t'+"涨跌比率");
System.out.println("——————————————————————————————————————————————————————————————————————————————————");
de.Zhishu(num);//调用Zhishu函数;
}
class Stock{
private String name; //声明大盘名称属性
private double shoupan_num; //前一日收盘指数属性;
private double current_num;//当日当前指数属性
private double zhangdie_num;//涨跌幅度属性
private double zhangdie_rate;//涨跌比率属性
public Stock() {
this.name="上证A股";//大盘名称叫上证A股
this.shoupan_num=2844.7;//前一日收盘指数2844.7
}
private void output(double num) {//输出
this.current_num=num;//当日当前指数
this.zhangdie_num=num-2844.7;//涨跌幅度
this.zhangdie_rate=zhangdie_num/shoupan_num*100;//涨跌比率
DecimalFormat decimalFormat1 = new DecimalFormat("#0.##"); // 设置格式为保留两位小数
DecimalFormat decimalFormat2 = new DecimalFormat("#.####"); // 设置格式为保留四位小数
String formattedNumber1 = decimalFormat1.format(zhangdie_num); // 将数字按指定格式转换成字符串
String formattedNumber2 = decimalFormat2.format(zhangdie_rate); // 将数字按指定格式转换成字符串
System.out.print(name+'\t'+'\t'+shoupan_num+"点"+'\t'+'\t'+'\t'+current_num+"点"+'\t'+"上涨"+formattedNumber1+"点"+'\t'+"上涨"+formattedNumber2+"%");
}
}
}