Java 兩個複數求和
阿新 • • 發佈:2020-12-29
- 編寫一個程式計算兩複數之和,輸入表示式為(2,3i)+(4,5i),則結果為(6,8i),如果輸入錯誤則通過異常處理提示錯誤。注意,兩個複數之間的分隔符是“+ ”,可編寫一個方法將帶括號形式的複數字串轉化為實際的複數物件。注意用取子串的辦法提取資料,一個複數內x和y部分的分隔符是逗號。
執行:
程式碼:
import javax.swing.JOptionPane;
public class FuShu {
int x;
int y;
public FuShu() {}
public FuShu(int x,int y) {
this.x= x;
this.y=y;
}
public static String Qiu(FuShu m,FuShu n) {
int x1=m.x+n.x;
int y1=m.y+n.y;
return "("+x1+","+y1+"i)";
}
//public ;
public static void main(String[] args) {
// TODO 自動生成的方法存根
try {
String s=JOptionPane.showInputDialog("請輸入");
int p=s.indexOf("+");
//以(2,3i)+(4,5i)為例
//分離兩個複數
String s1=s.substring(1,p-1);
String s2=s.substring(p+2,s.length()-1);
int p1=s1.indexOf(",");
//s1為2,3i
int x1=Integer.parseInt(s1.substring(0,p1));//x1=2
int y1=Integer.parseInt(s1.substring(p1+1,s1.length()-1));//y1=3
//s2為4,5i
int x2=Integer.parseInt(s2.substring(0,p1));
int y2=Integer.parseInt(s2.substring(p1+1,s2.length()-1));
FuShu f1=new FuShu(x1,y1);
FuShu f2=new FuShu(x2,y2);
System.out.println(Qiu(f1, f2));
}catch (Exception e) {
System.out.print("資料格式錯誤!eg:(2,3i)+(4,5i)");
}
}
}
總結:取子串就是substring,注意這裡的string是小寫!!!