1.封装一个股票(Stock)类,大盘名称为上证A股,前一日的收盘点是2844.70点,设置新的当前值如2910.02点,控制台既要显示以上信息,又要显示涨跌幅度以及点数变化的百分比。运行效果如下:

Java编程练习之类的封装2-LMLPHP

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+"%");
        }
        
    }
}
 

02-02 00:42