1. 程式人生 > 其它 >Java 兩個複數求和

Java 兩個複數求和

技術標籤:javajava

  1. 編寫一個程式計算兩複數之和,輸入表示式為(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是小寫!!!
在這裡插入圖片描述