class Money{ private: int yuan; int jiao; int fen; public: Money(int y = 0, int j = 0, int f = 0): yuan(y), jiao(j), fen(f){} Money operator+(const Money &m) const{ int total_fen = (fen + m.fen) % 10; int carry_fen = (fen + m.fen) / 10; int total_jiao = (jiao + m.jiao + carry_fen) % 10; int carry_jiao = (jiao + m.jiao + carry_fen) / 10; int total_yuan = yuan + m.yuan + carry_jiao; return Money(total_yuan, total_jiao, total_fen); } friend ostream& operator<<(ostream &out, const Money &m){ out << m.yuan << "Yuan" << m.jiao << "Jiao" << m.fen << "Fen"; return out; } friend istream& operator>>(istream &in, Money &m){ in >> m.yuan >> m.jiao >> m.fen; return in; }};
时间: 2024-04-27 18:22:52 浏览: 126
这是一个 C++ 的 Money 类,它用来表示货币。它有三个私有成员变量:yuan、jiao 和 fen,分别表示元、角、分。它有一个构造函数,可以用来初始化这三个成员变量。它还重载了加号运算符,可以实现两个 Money 对象相加。它还重载了输出运算符和输入运算符,可以输出和输入 Money 对象的值。
相关问题
import java.util.Scanner; public class Money { private int yuan; private int jiao; private int fen; // 构造方法1:输入元、角、分 public Money(int yuan, int jiao, int fen) { this.yuan = yuan; this.jiao = jiao; this.fen = fen; } // 构造方法2:输入总分数 public Money(int totalFen) { this.yuan = totalFen / 100; this.jiao = totalFen % 100 / 10; this.fen = totalFen % 10; } // 输出元、角、分 public void show() { System.out.println(yuan + "yuan " + jiao + "jiao " + fen + "fen"); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int totalFen = scanner.nextInt(); Money money = new Money(totalFen); money.show(); } }
这段代码定义了一个名为Money的类,其中包括了两个构造方法和一个输出元、角、分的方法。第一个构造方法通过输入元、角、分的方式创建Money对象,第二个构造方法通过输入总分数的方式创建Money对象。show方法用来输出Money对象的元、角、分信息。在main方法中,通过Scanner类获取用户输入的总分数,然后创建一个Money对象并调用show方法输出元、角、分信息。
package money; import java.util.Scanner; public class Money { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int fen = in.nextInt(); Moneys x = new Moneys(fen); x.conversion(); x.show(); in.close(); } } class Moneys{ private int fen; private int jiao; private int yuan; public void conversion(){ this.fen = fen%10; this.jiao = fen/10%10; this.yuan = fen/100; } public void show() { System.out.println(yuan+"yuan"+jiao+"jiao"+fen+"fen"); } public Moneys(int fen) { this.fen = fen; } public Moneys(int yuan,int jiao,int fen) { this.fen = fen; this.jiao = jiao; this.yuan = yuan; } }
这是一个 Java 程序,用于将以分为单位的金额转换为元、角、分表示。程序的输入为一个整数,表示以分为单位的金额,输出为该金额对应的元、角、分表示。
程序中定义了一个 Moneys 类,包含了 conversion() 和 show() 两个方法。conversion() 方法用于将以分为单位的金额转换为元、角、分表示,而 show() 方法用于输出转换后的结果。其中,fen、jiao 和 yuan 分别表示分、角和元的数量。
程序的主函数 Money 中,先使用 Scanner 类读取用户输入的金额,然后实例化一个 Moneys 对象 x,将读取到的金额传入对象的构造函数中进行初始化。接着,调用对象的 conversion() 和 show() 方法,将转换后的结果输出到控制台。最后关闭 Scanner 对象。
阅读全文