/*
//下記のソースを名前「TFraction.java」つけて、保存してください。
//不过只生成一个加函数,因为要传入分数作为参数,所以用字符串的形式进入。
//实际调用的时候可以这样
先调用add函数,然后再用GetF1和GetF2取值,如果GetF2返回0,就是有错误。
*/
public class TFraction
{
int f1;
int f2;
public TFraction(int a,int b){
f1=a;
f2=b;
}
//Get
public int GetF1(){
return f1;
}
public int GetF2(){
return f2;
}
//Set
public void SetF1(int a){
f1=a;
}
public void SetF2(int a){
f2=a;
}
/***
** Get Sum for two value, Input with String Format as [X/X,X/X]
* Has Error: Set f2=0
*/
public void add(String a,String b){
int son1,son2,realSon;
int fat1,fat2,realFat;
String sSon1,sSon2;
String sFat1,sFat2;
int intIndex;
try{
// the first Value
sSon1="";
sFat1="";
for (int i=0;i<a.length() ;i++ )
{
if(a.charAt(i)!='/'){
sSon1=sSon1+a.charAt(i);
}else
{
sFat1=a.substring(i+1,a.length());
}
}
if (sSon1.compareTo("")==0 || sFat1.compareTo("")==0)
{// if no son or no father, set f2 to 0 ;
SetF2(0);
return;
}
son1=Integer.parseInt(sSon1);
fat1=Integer.parseInt(sFat1);
if(fat1==0){
SetF2(0);
return;
}
// the Sencond Value
sSon2="";
sFat2="";
for (int i=0;i<b.length() ;i++ )
{
if(b.charAt(i)!='/'){
sSon2=sSon2+b.charAt(i);
}else
{
sFat2=b.substring(i+1,b.length());
}
}
if (sSon2.compareTo("")==0 || sFat2.compareTo("")==0)
{// if no son or no father, set f2 to 0 ;
SetF2(0);
return;
}
son2=Integer.parseInt(sSon2);
fat2=Integer.parseInt(sFat2);
if(fat2==0){
SetF2(0);
return;
}
// OK , Now begin
to deal Add Function
realFat=fat1*fat2;
realSon=fat1*son2+son1*fat2;
// 再加上公?数
//
//Set Return Value
SetF1(realSon);
SetF2(realFat);
return;
}catch(Exception e){
System.out.println("Error:"+e);
SetF2(0);
return;
}
}
/***
** //With the Same way, u can get other functions.
*
*/
public void del(String a,String b){
//
}
/***
** //With the Same way, u can get other functions.
*
*/
public void div(String a,String b){
//
}
/***
** //With the Same way, u can get other functions.
*
*/
public void plus(String a,String b){
//
}
}