Java 两个复数求和

  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是小写!!!
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悢七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值