import java.io.*;
public class duoxiangshi
{
private int i,j;
private int[] b,d;
private float a[],c[];
private BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));//,buf2,buf3,buf4;
private String st1,st4;
public static void main(String args[])throws IOException
{
duoxiangshi DXS=new duoxiangshi();
DXS.systemin();
}
public void systemin() throws IOException
{
String st2=new String(""),st3=new String(""),st5=new String("");
System.out.println(" ---------一元多项式计算---------");
System.out.print("请输入第一个多项式的名称:");
st1=buf.readLine();
System.out.print("请输入第一个多项式的项数:");
int k;
//buf2=new BufferedReader(new InputStreamReader(System.in));
st2=buf.readLine();
i=Integer.parseInt(st2);
a=new float[100];
b=new int[100];
//buf3=new BufferedReader(new InputStreamReader(System.in));
for(k=1;k<=i;k++)
{
System.out.print("请输入第"+k+"项(格式为_,_):");
st3=buf.readLine();
int l=st3.indexOf(",");
a[k-1]=Float.parseFloat(st3.substring(0,l));
b[k-1]=Integer.parseInt(st3.substring(l+1,st3.length()));
}
System.out.print("请输入第二个多项式的名称:");
//buf4=new BufferedReader(new InputStreamReader(System.in));
st4=buf.readLine();
System.out.print("请输入第二个多项式的项数:");
st5=buf.readLine();
j=Integer.parseInt(st5);
c=new float[100];
d=new int[100];
for(k=1;k<=j;k++)
{
System.out.print("请输入第"+k+"项(格式为_,_):");
st5=buf.readLine();
int l=st5.indexOf(",");
c[k-1]=Float.parseFloat(st5.substring(0,l));
d[k-1]=Integer.parseInt(st5.substring(l+1,st5.length()));
}
chooseOption();
}
public void chooseOption()throws IOException
{
System.out.print("**********************************************\n");
System.out.print("1、两个多项式相加\n2、两个多项式相减\n3、重新计算\n4、退出\n");
System.out.print("请选择要进行的操作:");
String str=buf.readLine();
if(str.equals("1"))
add();
else
if(str.equals("2"))sub();
else
if(str.equals("3"))systemin();
else System.exit(0);
}
public void add()throws IOException
{
float temp1;
int k=i,temp,flag;
for(int m=0;m<j;m++)
{
flag=0;
for(int n=0;n<i;n++)
{
if(d[m]==b[n])
{
a[n]+=c[m];
}
else
flag++;
}
if(flag==i)
{
a[k]=c[m];
b[k]=d[m];
k++;
}
}
for(int p=1;p<k;p++)
{
boolean exchange=false;
for(int q=k-1;q>=p;q--)
if(b[q-1]<b[q])
{
temp=b[q-1];
b[q-1]=b[q];
b[q]=temp;
temp1=a[q-1];
a[q-1]=a[q];
a[q]=temp1;
exchange=true;
}
if(exchange==false)
return;
}
System.out.print("相加结果为:"+a[0]+"X^"+b[0]);
for(int p=1;p<k;p++)
System.out.print("+"+a[p]+"X^"+b[p]);
System.out.println("\n");
chooseOption();
}
public void sub()throws IOException
{
String st;
System.out.print("请输入被减数的名称:");
st=buf.readLine();
float temp1;
int temp;
if(st.equals(st1))
{
int k=i,flag=0;
boolean exchange=false;
for(int m=0;m<j;m++)
{
flag=0;
for(int n=0;n<i;n++)
{
if(d[m]==b[n])
{
a[n]-=c[m];
}
else
flag++;
}
if(flag==i)
{
a[k]=-c[m];
b[k]=d[m];
k++;
}
}
for(int p=1;p<k;p++)
{
for(int q=k-1;q>=p;q--)
if(b[q-1]<b[q])
{
temp=b[q-1];
b[q-1]=b[q];
b[q]=temp;
temp1=a[q-1];
a[q-1]=a[q];
a[q]=temp1;
exchange=true;
}
if(exchange==false)
return;
}
System.out.print("相减结果为:"+"("+a[0]+")"+"X^"+b[0]);
for(int p=1;p<k;p++)
System.out.print("+"+"("+a[p]+")"+"X^"+b[p]);
System.out.println("\n");
}
if(st.equals(st4))
{
int k=j,flag=0;
boolean exchange=false;
for(int m=0;m<i;m++)
{
flag=0;
for(int n=0;n<j;n++)
{
if(d[n]==b[m])
{
c[n]-=a[m];
}
else
flag++;
}
if(flag==j)
{
c[k]=-a[m];
d[k]=b[m];
k++;
}
}
for(int p=1;p<k;p++)
{
for(int q=k-1;q>=p;q--)
if(d[q-1]<d[q])
{
temp=d[q-1];
d[q-1]=d[q];
d[q]=temp;
temp1=c[q-1];
c[q-1]=c[q];
c[q]=temp1;
exchange=true;
}
if(exchange==false)
return;
}
System.out.print("相减结果为:"+"("+c[0]+")"+"X^"+d[0]);
for(int p=1;p<k;p++)
System.out.print("+"+"("+c[p]+")"+"X^"+d[p]);
System.out.println("\n");
}
else System.out.println("请输入正确的被减数名称!");
chooseOption();
}
public duoxiangshi()
{
}
}
dxs.rar_polynomial_多项式 java
版权申诉
153 浏览量
2022-09-23
08:39:04
上传
评论
收藏 9KB RAR 举报
我虽横行却不霸道
- 粉丝: 72
- 资源: 1万+
最新资源
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
- Linux线程同步机制深度解析与实用指南.zip
- PTA题库C语言解题策略与实战.rar
- SVPWM控制技术的simulink建模与仿真【包括simulink模型,参考文献,操作步骤】
- AI高清修复图片画质易语言易语言源码易语言填表
- 映射窗口.ec易语言易语言模块CPU占用0%游戏监控窗口监控
- 易语言 361窗口模块高效、便捷、自封装、自用
- 易语言 窗口排列 模块 ,简单、高效、体积小
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈