我有以下代码,我需要转换我的字符串o1& o2(由用户输入)到Fraction类f1& F2。我不确定如何做到这一点,任何帮助将不胜感激!
更新:Setter和getter已经到位,我只在这里粘贴代码的相关方面。一切正常但我不知道如何为f1赋值(其值应为o1)。
private int numerator;
private int denominator;
public Fraction(){
numerator = 0;
denominator = 1;
}
public static void main(String[] args){
String o1 = null;
String o2 = null;
Scanner scan = new Scanner(System.in);
System.out.println("Input Operand 1, separate numerator and denominator by '/'.");
o1 = scan.next();
System.out.println("Input Operand 2, separate numerator and denominator by '/'.");
o2 = scan.next();
Fraction f1 = new Fraction();
int n1 = f1.getNumerator();
int d1 = f1.getDenominator();
Fraction f2 = new Fraction();
int n2 = f2.getNumerator();
int d2 = f2.getDenominator();
Fraction A = new Fraction(n1, d1);
Fraction B = new Fraction(n2,d2);
A.printF(add(A,B));
A.printF(sub(A,B));
A.printF(multiply(A,B));
A.printF(divide(A,B));
}
答案 0 :(得分:3)
如果我理解正确......
String[] o1Parts = o1.split("/");
String[] o2Parts = o2.split("/");
int o1Numerator = Integer.parseInt(o1Parts[0]);
int o1Denominator = Integer.parseInt(o1Parts[1]);
int o2Numerator = Integer.parseInt(o2Parts[0]);
int o2Denominator = Integer.parseInt(o2Parts[1]);
Fraction
对象Fraction o1Fraction = new Fraction(o1Numerator, o1Denominator);
Fraction o2Fraction = new Fraction(o2Numerator, o2Denominator);
如果班级没有这个构造函数,只有setter:
Fraction o1Fraction = new Fraction();
o1Fraction.setNumerator(o1Numerator);
o1Fraction.setDenominator(o1Denominator);
Fraction o2Fraction = new Fraction();
o2Fraction.setNumerator(o2Numerator);
o2Fraction.setDenominator(o2Denominator);
请注意,此代码不进行输入验证,因此如果您编写的内容不是number/number
,它就会中断。另外,我没有编译来测试它,所以可能会有一两个语法错误隐藏在那里,但这是基本的想法。
答案 1 :(得分:1)
你可以根据'/'分隔字符串,并设置类Fraction的denomerator属性的分子值如下:
String o1 = "10/5";
Fraction f1 = new Fraction();
f1.setNumerator(Integer.parseInt(o1.substring(0,o1.indexOf("/"))));
f1.setDenomerator(Integer.parseInt(o1.substring(o1.indexOf("/")+1)));
我找不到属性的setter
和getter
,创建它并使用上面的代码设置值。